Linux命令是操作系统与用户交互的核心工具,通过命令行可以高效管理文件、系统资源、网络配置等,Linux命令种类繁多,功能覆盖从基础文件操作到复杂系统维护,以下按功能分类详细介绍常用命令及其用法。

文件和目录管理命令
文件管理是Linux操作的基础,常用命令包括ls
、cd
、pwd
、mkdir
、rm
、cp
、mv
等。ls
用于列出目录内容,ls -l
可显示详细信息(如权限、所有者、大小),ls -a
会隐藏文件。cd
用于切换目录,cd ..
返回上级目录,cd ~
进入用户主目录。pwd
显示当前工作目录的完整路径。mkdir
创建新目录,mkdir -p
可递归创建多级目录。rm
删除文件或目录,rm -r
递归删除,rm -f
强制删除。cp
复制文件或目录,cp -r
用于目录复制。mv
可移动文件或重命名,例如mv old.txt new.txt
将文件重命名。
文本处理命令
文本处理命令包括cat
、less
、head
、tail
、grep
、sed
、awk
等。cat
用于查看文件内容,cat file.txt
直接输出文件全部内容。less
分页查看文件,支持上下翻页和关键词搜索。head
和tail
分别查看文件前几行和后几行,tail -f
可实时追踪文件更新(如日志文件)。grep
用于文本搜索,grep "keyword" file.txt
在文件中查找包含关键词的行,grep -i
忽略大小写。sed
用于流编辑文本,例如sed 's/old/new/g' file.txt
替换文件中所有"old"为"new"。awk
基于列处理文本,awk '{print $1}' file.txt
打印每行的第一列。
系统和管理命令
系统管理命令帮助监控和维护系统状态。top
和htop
实时显示进程资源占用,htop
以彩色界面提供更直观的交互。ps
查看当前进程,ps aux
显示所有进程的详细信息。kill
终止进程,kill -9
强制终止进程。df -h
查看磁盘空间使用情况,du -sh
统计目录大小。free -h
显示内存使用情况。uname -a
查看系统内核和版本信息。reboot
和shutdown
关机或重启系统,shutdown -h now
立即关机。
网络配置命令
网络命令用于管理和排查网络连接。ifconfig
和ip addr
查看或配置网络接口,ifconfig eth0 up
启用网卡。ping
测试网络连通性,ping www.baidu.com
向目标主机发送ICMP请求。netstat -an
查看网络连接状态,ss -tulpn
替代netstat
,显示监听端口及进程ID。wget
或curl
下载文件,wget https://example.com/file.zip
从URL下载文件。ssh
远程登录主机,ssh user@ip
通过加密协议连接远程服务器。scp
在本地与远程主机间传输文件,scp file.txt user@ip:/remote/path
。

权限管理命令
Linux通过权限控制文件安全,chmod
修改文件权限,chmod 755 file.txt
设置所有者可读写执行,其他用户可读执行。chown
修改文件所有者,chown user:group file.txt
将文件所有者改为user,组改为group。su
切换用户,su -
切换到root用户并加载环境变量。sudo
以超级用户权限执行命令,需在sudoers
文件中配置权限。
压缩和解压命令
文件压缩可节省存储空间,tar
是最常用的打包工具,tar -czvf archive.tar.gz /path/to/dir
打包并压缩目录,tar -xzvf archive.tar.gz
解压。zip
和unzip
处理.zip格式文件,zip -r archive.zip dir/
递归压缩目录,unzip archive.zip
解压。gzip
压缩单个文件,gzip file.txt
生成file.txt.gz,gunzip file.txt.gz
解压。
进程和服务管理
systemctl
是现代Linux发行版的服务管理工具,systemctl start nginx
启动服务,systemctl enable nginx
设置开机自启,systemctl status nginx
查看服务状态。service
命令用于传统系统,service apache2 restart
重启Apache服务。
其他实用命令
find
在文件系统中搜索文件,find / -name "*.txt"
搜索根目录下所有.txt文件。history
查看命令历史,!n
执行历史中第n条命令。alias
设置命令别名,alias ll='ls -l'
后,输入ll
即执行ls -l
。

以下为部分常用命令的总结表格:
功能类别 | 命令 | 常用选项及示例 |
---|---|---|
文件列表 | ls |
ls -l (详细信息)、ls -a (含隐藏文件) |
切换目录 | cd |
cd .. (上级目录)、cd ~ (主目录) |
创建目录 | mkdir |
mkdir -p dir1/dir2 (递归创建) |
删除文件 | rm |
rm -rf dir/ (强制递归删除目录) |
复制文件 | cp |
cp -r src/ dest/ (复制目录) |
文本搜索 | grep |
grep -i "error" log.txt (忽略大小写搜索) |
查看进程 | ps |
ps aux (显示所有进程) |
终止进程 | kill |
kill -9 1234 (强制终止PID为1234的进程) |
磁盘空间 | df |
df -h (以人类可读格式显示磁盘使用) |
网络测试 | ping |
ping 8.8.8.8 (测试与Google DNS的连通性) |
远程登录 | ssh |
ssh user@192.168.1.1 (登录远程主机) |
修改权限 | chmod |
chmod 644 file.txt (设置所有者可读写) |
打包压缩 | tar |
tar -czvf backup.tar.gz /home (打包压缩) |
相关问答FAQs
Q1: 如何在Linux中查找包含特定关键词的所有文件?
A: 使用grep
命令结合find
可以实现递归搜索,在当前目录及其子目录中查找包含"error"的文件:find . -type f -exec grep -l "error" {} \;
。-type f
表示只搜索文件,-exec grep -l "error"
对每个文件执行grep搜索,-l
选项输出包含关键词的文件名。
Q2: 如何查看Linux系统当前运行的端口及对应进程?
A: 使用ss
或netstat
命令可以查看端口和进程信息。ss -tulpn
会显示所有监听的TCP/UDP端口及其关联的进程ID和名称,若使用netstat
,命令为netstat -tulpn
,其中-t
表示TCP,-u
表示UDP,-l
只显示监听端口,-p
显示进程ID,-n
以数字形式显示地址和端口。