Linux命令大全涵盖了从基础文件操作到系统管理、网络配置、进程控制等多个方面的命令,熟练掌握这些命令能够高效地管理和操作Linux系统,以下将详细介绍常用命令及其使用方法,包括文件和目录操作、文本处理、系统信息查看、用户管理、网络配置、进程管理、软件安装与压缩等类别,并辅以示例说明。

文件和目录操作命令
文件和目录是Linux系统中最基本的元素,相关命令是日常操作中最常用的。
- ls:列出目录内容,常用选项包括
-l
(显示详细信息)、-a
(显示隐藏文件)、-h
(以人类可读格式显示文件大小,如K、M)。ls -lah
会以详细、隐藏文件和人性化格式列出当前目录内容。 - cd:切换目录。
cd ..
返回上一级目录,cd ~
切换到用户主目录,cd -
在最近两次工作目录间切换。 - pwd:显示当前所在工作目录的完整路径。
- mkdir:创建目录。
-p
选项可递归创建多级目录,如mkdir -p /tmp/test/a/b
会创建不存在的父目录。 - rm:删除文件或目录。
-r
递归删除目录,-f
强制删除不提示,例如rm -rf /tmp/oldfiles
会强制删除整个目录。 - cp:复制文件或目录。
-r
复制目录,-p
保留文件属性(如权限、时间戳),-i
覆盖前提示,如cp -r source_dir target_dir
复制整个目录。 - mv:移动或重命名文件/目录。
mv old_name new_name
重命名文件,mv file.txt /tmp/
将文件移动到/tmp目录。 - touch:创建空文件或更新文件时间戳。
touch newfile.txt
会创建一个空文件,若文件已存在则更新其访问和修改时间。 - ln:创建链接文件。
-s
创建符号链接(软链接),如ln -s /usr/bin/python3 /usr/bin/python
,使python
命令指向python3
。
文本处理命令
Linux擅长文本处理,以下命令能高效处理文本内容。
- cat:查看文件内容,
cat file.txt
显示文件全部内容,适合小文件。 - more/less:分页查看文件内容。
less
功能更强大,支持上下翻页、搜索()、退出(q
)。 - head/tail:查看文件开头或结尾部分。
head -n 10 file.txt
显示前10行,tail -f file.txt
实时跟踪文件末尾内容(常用于日志监控)。 - grep:文本搜索。
-i
忽略大小写,-r
递归搜索目录,-n
显示行号,如grep -rn "error" /var/log/
在日志目录中搜索包含"error"的行。 - sed:流编辑器,用于文本替换、删除等。
sed 's/old/new/g' file.txt
将文件中所有"old"替换为"new",sed -i 'd' file.txt
删除所有行(慎用)。 - awk:文本分析工具,按列处理文本。
awk '{print $1, $3}' file.txt
打印每行的第1和第3列,-F
可指定分隔符,如awk -F: '{print $1}' /etc/passwd
以冒号为分隔符打印/etc/passwd的用户名列。 - sort:排序文本。
-n
按数字排序,-r
降序,-k
指定列,如sort -n -k 2 data.txt
按第2列数字升序排序。 - uniq:去重。
-c
显示重复次数,需配合sort
使用,如sort file.txt | uniq -c
统计每行重复次数。
系统信息查看命令
了解系统状态是管理和维护的基础。
- uname:显示系统信息。
uname -a
显示所有信息(内核版本、主机名等)。 - top/htop:动态查看进程资源占用。
top
按CPU占用排序,htop
更直观(需安装),可交互式操作(如按k
结束进程)。 - df/du:查看磁盘使用情况。
df -h
按人类可读格式显示各分区使用量,du -sh *
显示当前目录下各文件/目录总大小。 - free:查看内存使用情况。
-h
以GB/MB显示,-m
以MB显示。 - ps:查看当前进程。
aux
显示所有进程详细信息,ps -ef | grep nginx
查看与nginx相关的进程。 - lsof:列出打开的文件。
lsof -i :80
查看占用80端口的进程,lsof /var/log/syslog
查看打开系统日志的进程。 - uptime:显示系统运行时间和负载,例如
14:30:25 up 10 days, 2:15, 2 users, load average: 0.10, 0.15, 0.08
。
用户和权限管理命令
Linux是多用户系统,用户和权限管理至关重要。

- useradd/userdel:添加/删除用户。
sudo useradd -m -s /bin/bash newuser
创建用户并创建家目录,sudo userdel -r olduser
删除用户及家目录。 - passwd:修改用户密码。
sudo passwd username
修改指定用户密码,普通用户只能修改自己的密码。 - chmod:修改文件权限。
chmod 755 file.txt
设置所有者可读写执行、组和其他用户可读执行;chmod u+x script.sh
为所有者添加执行权限。 - chown:修改文件所有者。
sudo chown user:group file.txt
将文件所有者改为user,组改为group,-R
递归修改目录。 - su/sudo:切换用户。
su - username
切换到指定用户并加载其环境变量,sudo command
以管理员权限执行命令(需配置sudoers文件)。
网络配置命令
网络管理是Linux运维的核心技能之一。
- ifconfig/ip:查看和配置网络接口。
ifconfig
显示所有网络接口信息(传统命令),ip addr show
显示更详细的IP地址信息(推荐),sudo ip addr add 192.168.1.100/24 dev eth0
添加IP地址。 - ping:测试网络连通性。
ping -c 4 www.baidu.com
发送4个包测试与百度服务器的连通性。 - netstat/ss:查看网络连接状态。
netstat -tuln
显示所有监听端口,ss -tuln
更高效(推荐),ss -t | grep ESTAB
查看已建立的TCP连接。 - curl/wget:下载网络资源。
curl -O http://example.com/file.zip
下载文件并保持原名,wget -r -np http://example.com/dir/
递归下载目录内容。 - ssh:远程登录。
ssh user@192.168.1.100
以user身份登录远程主机,-p 2222
指定非默认端口,scp file.txt user@remote:/path/to/
通过SSH传输文件。 - iptables:防火墙配置。
sudo iptables -L -n
列出所有规则,sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许22端口访问(SSH)。
进程管理命令
进程管理是系统性能优化的关键。
- jobs:查看后台任务。
Ctrl+Z
将前台任务放入后台,jobs -l
显示任务ID和进程ID。 - bg/fg:后台/前台切换。
bg %1
将任务ID为1的任务切换到后台,fg %1
切回前台。 - kill/pkill:结束进程。
kill -9 1234
强制结束进程ID为1234的进程,pkill -f "nginx"
结束所有包含"nginx"的进程。 - nohup:让进程在后台持续运行。
nohup command > output.log 2>&1 &
忽略挂断信号,输出重定向到文件,适合长时间运行的任务(如服务器程序)。
软件安装与压缩命令
- apt/yum/dnf:包管理器(不同发行版),Ubuntu/Debian用
sudo apt update && sudo apt install package_name
,CentOS/RHEL 7用sudo yum install package_name
,Fedora/CentOS 8+用sudo dnf install package_name
。 - tar:压缩/解压文件。
tar -czvf archive.tar.gz dir/
将目录压缩为tar.gz,tar -xzvf archive.tar.gz
解压,-c
创建、-x
解压、-v
显示过程、-f
指定文件名、-z
处理gzip格式。 - unzip:解压zip文件。
unzip archive.zip
解压到当前目录,-d /path/to
指定解压路径。
相关问答FAQs
Q1: 如何查找包含特定关键词的文件?
A1: 可使用find
命令结合grep
实现,在当前目录及其子目录中查找包含"error"的.log文件,命令为:find . -type f -name "*.log" -exec grep -l "error" {} \;
。find . -type f -name "*.log"
查找所有.log文件,-exec grep -l "error" {} \;
对每个文件执行grep搜索并输出包含关键词的文件名。
Q2: 如何查看系统负载和CPU使用率详情?
A2: 使用top
或htop
命令可实时查看CPU使用率,top
按1
可查看各核心CPU使用情况;查看系统负载可通过uptime
或cat /proc/loadavg
,负载值表示1分钟、5分钟、15分钟内的平均进程数,超过CPU核心数可能表示系统过载;vmstat 1
每秒更新一次系统状态,包括CPU、内存、IO等信息,可帮助分析性能瓶颈。
