Appearance
Linux 命令大全
这一页保留更完整的命令检索视角,适合已经有基础、需要按主题反查命令用法的读者。
命令大全
帮助与基础信息
man
查看命令的官方手册。
bash
man ls说明:
man是最权威的命令帮助文档。进入后:
/关键字搜索n下一个结果q退出
--help
快速查看命令参数说明。
bash
ls --help
cp --help说明:
- 比
man更简洁。 - 适合快速确认参数写法。
which
查看命令的可执行文件路径。
bash
which python
which ls说明:
- 用于确认系统实际执行的是哪个程序。
whereis
查找命令、源码、帮助文档位置。
bash
whereis ls
whereis pythontype
查看命令类型。
bash
type cd
type ls说明:
判断某个名字是:
- shell 内建命令
- 可执行程序
- 别名
- 函数
history
查看历史命令。
bash
history
history | tail -20常用:
bash
!100 # 执行 history 中编号 100 的命令
!! # 执行上一条命令目录与文件操作
pwd
显示当前所在目录。
bash
pwdls
列出目录内容。
bash
ls
ls -l
ls -a
ls -lh
ls -lt常用参数:
-l:详细信息-a:显示隐藏文件-h:以人类可读方式显示大小-t:按时间排序
示例:
bash
ls -lah说明:
- 很常用,通常
ls -lah足够查看当前目录详细内容。
cd
切换目录。
bash
cd /home
cd ~
cd ..
cd -说明:
cd ~:回到用户家目录cd ..:返回上一级cd -:切换到上一个目录
mkdir
创建目录。
bash
mkdir test
mkdir -p a/b/c说明:
-p可以递归创建多级目录。
rmdir
删除空目录。
bash
rmdir test注意:
- 只能删空目录。
- 非空目录通常用
rm -r。
touch
创建空文件,或更新时间戳。
bash
touch file.txtcp
复制文件或目录。
bash
cp a.txt b.txt
cp file.txt /tmp/
cp -r dir1 dir2
cp -a src/ dst/常用参数:
-r:递归复制目录-a:保留权限、时间等信息,常用于完整复制
mv
移动或重命名文件。
bash
mv old.txt new.txt
mv file.txt /tmp/
mv dir1 dir2说明:
- 同目录下使用一般是重命名
- 跨目录使用一般是移动
rm
删除文件或目录。
bash
rm file.txt
rm -r mydir
rm -rf mydir常用参数:
-r:递归删除目录-f:强制删除,不提示
警告:
bash
rm -rf /极其危险,绝不要随便执行。
ln
创建链接。
硬链接
bash
ln file1 file2软链接
bash
ln -s /path/to/file linkname说明:
- 软链接类似快捷方式。
- 硬链接更接近文件实体的另一个名字。
文件内容查看
cat
查看文件内容。
bash
cat file.txt
cat -n file.txt说明:
-n显示行号
tac
倒序显示文件内容。
bash
tac file.txtmore
分页查看文件。
bash
more file.txtless
更强大的分页查看工具。
bash
less file.txt说明:
- 支持上下翻页、搜索
- 常用搜索:
/关键字
head
查看文件开头内容。
bash
head file.txt
head -n 20 file.txttail
查看文件末尾内容。
bash
tail file.txt
tail -n 50 file.txt
tail -f app.log说明:
-f常用来实时追踪日志变化。
nl
显示内容并带行号。
bash
nl file.txtwc
统计文件行数、单词数、字节数。
bash
wc file.txt
wc -l file.txt
wc -w file.txt
wc -c file.txt文件查找与搜索
find
按条件查找文件,非常强大。
bash
find /tmp -name "*.log"
find . -type f
find . -type d
find . -size +100M
find . -mtime -7常用参数:
-name:按名称查找-type f:普通文件-type d:目录-size:按大小-mtime:按修改时间
示例:删除 7 天前日志
bash
find /var/log -name "*.log" -mtime +7 -deletelocate
快速查找文件路径。
bash
locate nginx.conf说明:
- 基于数据库搜索,速度快。
- 数据库可能不是实时的。
- 更新数据库:
bash
sudo updatedbgrep
文本搜索神器。
bash
grep "error" app.log
grep -n "error" app.log
grep -i "error" app.log
grep -r "hello" .
grep -v "debug" app.log常用参数:
-n:显示行号-i:忽略大小写-r:递归搜索-v:反向匹配
示例:
bash
grep -rn "main" src/egrep
支持扩展正则,等价于 grep -E
bash
grep -E "error|warning" app.logsed
流编辑器,适合替换、删除、提取文本。
替换文本
bash
sed 's/old/new/' file.txt全部替换
bash
sed 's/old/new/g' file.txt原地修改文件
bash
sed -i 's/old/new/g' file.txt删除某一行
bash
sed '3d' file.txt打印某范围行
bash
sed -n '1,5p' file.txt说明:
sed很适合批量替换配置文件内容。
awk
文本分析工具,按列处理非常方便。
bash
awk '{print $1}' file.txt
awk '{print $1, $3}' file.txt
awk -F: '{print $1}' /etc/passwd说明:
$1表示第一列-F指定分隔符
示例:查看系统用户
bash
awk -F: '{print $1}' /etc/passwdsort
排序。
bash
sort file.txt
sort -n nums.txt
sort -r file.txt
sort -k2 file.txtuniq
去重,通常和 sort 配合。
bash
sort file.txt | uniq
sort file.txt | uniq -ccut
按列截取文本。
bash
cut -d: -f1 /etc/passwd
cut -c1-10 file.txt说明:
-d:分隔符-f:字段-c:字符范围
tr
字符转换或删除。
bash
echo "abc" | tr 'a-z' 'A-Z'
echo "a b c" | tr -d ' 'xargs
将标准输入转换为命令参数。
bash
echo "file.txt" | xargs cat
find . -name "*.log" | xargs rm -f注意:
- 文件名里有空格时要小心。
- 更安全方式:
bash
find . -name "*.log" -print0 | xargs -0 rm -f权限与用户
chmod
修改权限。
bash
chmod 644 file.txt
chmod 755 script.sh
chmod +x run.sh权限解释:
r:读w:写x:执行
数字权限:
7= rwx6= rw-5= r-x4= r--
常见:
644:普通文件常见权限755:脚本、目录常见权限
chown
修改文件所有者。
bash
sudo chown user file.txt
sudo chown user:group file.txt
sudo chown -R user:group mydirchgrp
修改所属组。
bash
sudo chgrp developers file.txtumask
查看或设置默认权限掩码。
bash
umask
umask 022id
查看用户 UID、GID、组信息。
bash
id
id usernamewhoami
查看当前用户名。
bash
whoamiwho
查看当前登录用户。
bash
whow
查看当前在线用户及其活动。
bash
wsu
切换用户。
bash
su
su - username说明:
su -会加载目标用户完整环境。
sudo
以管理员权限执行命令。
bash
sudo apt update
sudo systemctl restart nginx说明:
- Ubuntu 中非常常用。
压缩与解压
tar
打包和解包。
打包
bash
tar -cvf archive.tar dir/解包
bash
tar -xvf archive.tar打包并 gzip 压缩
bash
tar -czvf archive.tar.gz dir/解压 tar.gz
bash
tar -xzvf archive.tar.gz打包并 xz 压缩
bash
tar -cJvf archive.tar.xz dir/解压 tar.xz
bash
tar -xJvf archive.tar.xz参数说明:
-c:创建-x:解压-v:显示过程-f:指定文件名-z:gzip-J:xz
gzip / gunzip
bash
gzip file.txt
gunzip file.txt.gzzip / unzip
bash
zip -r test.zip dir/
unzip test.zip磁盘与文件系统
df
查看磁盘空间使用情况。
bash
df
df -h说明:
-h更易读。
du
查看目录或文件占用空间。
bash
du -sh .
du -sh /var/log
du -h --max-depth=1说明:
-s汇总-h易读--max-depth=1查看当前目录下每个子目录大小
lsblk
查看块设备信息。
bash
lsblk
lsblk -f说明:
- 常用于查看磁盘、分区、挂载点。
mount
挂载文件系统。
bash
mount
sudo mount /dev/sdb1 /mntumount
卸载文件系统。
bash
sudo umount /mnt
sudo umount /dev/sdb1注意:
- 不是
unmount,而是umount
fdisk
磁盘分区工具。
bash
sudo fdisk -l
sudo fdisk /dev/sdb说明:
- 风险较高,操作前确认磁盘名称。
mkfs
创建文件系统。
bash
sudo mkfs.ext4 /dev/sdb1警告:
- 会格式化分区,数据会丢失。
blkid
查看 UUID 和文件系统类型。
bash
sudo blkid进程管理
ps
查看进程信息。
bash
ps
ps -ef
ps aux常用:
bash
ps aux | grep nginxtop
实时查看系统进程。
bash
top说明:
- 类似任务管理器
- 可实时查看 CPU、内存使用情况
htop
更友好的进程查看工具。
bash
htop说明:
- 某些系统默认未安装,需要先安装。
- 界面更直观。
kill
终止进程。
bash
kill 1234
kill -9 1234说明:
1234是 PID-9强制杀死,尽量最后再用
pkill
按进程名杀进程。
bash
pkill nginx
pkill -f pythonkillall
按名称终止全部匹配进程。
bash
killall firefoxpgrep
按名称查找进程 PID。
bash
pgrep nginx
pgrep -a pythonjobs
查看后台任务。
bash
jobsbg
把挂起任务放到后台运行。
bash
bg %1fg
把后台任务调回前台。
bash
fg %1nohup
使命令在退出终端后继续运行。
bash
nohup python app.py &输出通常写入:
bash
nohup.outnice / renice
调整进程优先级。
bash
nice -n 10 python app.py
renice 5 -p 1234系统信息查看
uname
查看系统内核信息。
bash
uname
uname -ahostname
查看主机名。
bash
hostname
hostnamectluptime
查看系统运行时长和负载。
bash
uptimefree
查看内存使用情况。
bash
free -hvmstat
查看系统整体性能统计。
bash
vmstat
vmstat 1iostat
查看 CPU 和磁盘 IO 统计。
bash
iostat
iostat -x 1说明:
- 可能需要安装
sysstat
mpstat
查看 CPU 使用情况。
bash
mpstat
mpstat -P ALL 1dmesg
查看内核日志。
bash
dmesg
dmesg | tail说明:
- 看驱动、硬件、启动日志时很有用。
lscpu
查看 CPU 信息。
bash
lscpulsmem
查看内存信息。
bash
lsmemlspci
查看 PCI 设备。
bash
lspcilsusb
查看 USB 设备。
bash
lsusb网络相关命令
ip
现代 Linux 推荐网络工具。
查看 IP 地址
bash
ip addr查看路由
bash
ip route启用网卡
bash
sudo ip link set eth0 up禁用网卡
bash
sudo ip link set eth0 downping
测试网络连通性。
bash
ping 8.8.8.8
ping www.baidu.comcurl
发送 HTTP 请求,下载内容,调接口很常用。
bash
curl https://example.com
curl -I https://example.com
curl -O https://example.com/file.zip
curl -X POST https://api.example.com说明:
-I查看响应头-O按原文件名下载- 接口调试极其常用
wget
下载文件。
bash
wget https://example.com/file.tar.gz
wget -c https://example.com/file.tar.gz说明:
-c支持断点续传
ss
查看 socket / 网络连接。
bash
ss -tuln
ss -anp
ss -tunlp说明:
- 比
netstat更现代
常见参数:
-tTCP-uUDP-l监听-n数字显示-p显示进程
netstat
旧工具,但很多系统仍在用。
bash
netstat -tulnptraceroute
追踪路由路径。
bash
traceroute www.google.comnslookup
查询域名解析。
bash
nslookup google.comdig
更专业的 DNS 查询工具。
bash
dig google.com
dig google.com MX
dig @8.8.8.8 google.comscp
通过 SSH 复制文件。
bash
scp file.txt user@host:/tmp/
scp -r dir/ user@host:/tmp/
scp user@host:/tmp/file.txt .rsync
高效同步文件,非常常用。
bash
rsync -av dir/ /backup/
rsync -avz dir/ user@host:/backup/
rsync -av --delete src/ dst/说明:
-a保留属性-v显示过程-z压缩传输--delete让目标和源严格一致
ssh
远程登录服务器。
bash
ssh user@192.168.1.10
ssh -p 2222 user@hostsftp
安全文件传输。
bash
sftp user@host软件包管理
Ubuntu / Debian 系
apt 包管理工具。
更新软件源
bash
sudo apt update升级软件
bash
sudo apt upgrade安装软件
bash
sudo apt install nginx删除软件
bash
sudo apt remove nginx彻底删除
bash
sudo apt purge nginx自动清理
bash
sudo apt autoremove搜索软件
bash
apt search nginx查看包信息
bash
apt show nginxdpkg
底层包管理工具。
bash
dpkg -l
dpkg -i xxx.deb
dpkg -r package_nameRHEL / CentOS 系
yum
bash
sudo yum install nginx
sudo yum updatednf
bash
sudo dnf install nginx
sudo dnf update服务管理(systemd)
systemctl
管理系统服务。
查看服务状态
bash
systemctl status nginx启动服务
bash
sudo systemctl start nginx停止服务
bash
sudo systemctl stop nginx重启服务
bash
sudo systemctl restart nginx重载配置
bash
sudo systemctl reload nginx开机启动
bash
sudo systemctl enable nginx禁止开机启动
bash
sudo systemctl disable nginx查看全部服务
bash
systemctl list-units --type=servicejournalctl
查看 systemd 日志。
bash
journalctl
journalctl -u nginx
journalctl -f
journalctl -xe说明:
-u查看某个服务日志-f实时跟踪
Shell 重定向与管道
输出重定向 >
覆盖写入文件。
bash
echo hello > a.txt追加重定向 >>
追加写入文件。
bash
echo world >> a.txt错误重定向 2>
bash
command 2> err.log标准输出和错误都重定向
bash
command > all.log 2>&1或
bash
command &> all.log管道 |
把前一个命令输出作为后一个命令输入。
bash
ps aux | grep nginx
cat file.txt | wc -l日期、时间与计划任务
date
查看或格式化日期时间。
bash
date
date "+%Y-%m-%d %H:%M:%S"cal
查看日历。
bash
cal
cal 2026crontab
定时任务管理。
查看当前用户定时任务
bash
crontab -l编辑定时任务
bash
crontab -e删除定时任务
bash
crontab -r示例:每天凌晨 2 点执行脚本
bash
0 2 * * * /home/user/backup.sh格式说明:
bash
分 时 日 月 周 命令at
一次性定时任务。
bash
at 10:30
at now + 1 hour文本编辑器
vim
强大的文本编辑器。
bash
vim file.txt基础模式:
- 普通模式:默认模式
- 插入模式:按
i - 命令模式:按
Esc后输入:
常用:
:w保存:q退出:wq保存退出:q!强制退出不保存
nano
更适合新手。
bash
nano file.txt说明:
- 底部直接显示快捷键,易用。
用户与组管理
useradd
创建用户。
bash
sudo useradd username
sudo useradd -m username说明:
-m自动创建家目录
passwd
设置或修改密码。
bash
sudo passwd username
passwdusermod
修改用户属性。
bash
sudo usermod -aG sudo username说明:
- 把用户加入
sudo组
userdel
删除用户。
bash
sudo userdel username
sudo userdel -r username说明:
-r一并删除家目录
groupadd
创建组。
bash
sudo groupadd developersgroupdel
删除组。
bash
sudo groupdel developersgroups
查看用户所属组。
bash
groups
groups username环境变量与 Shell
echo
打印内容或变量值。
bash
echo hello
echo $HOME
echo $PATHexport
设置环境变量。
bash
export JAVA_HOME=/usr/lib/jvm/java-17
export PATH=$PATH:/opt/binenv
查看环境变量。
bash
envsource
重新加载 shell 配置文件。
bash
source ~/.bashrc
source ~/.zshrcalias
设置命令别名。
bash
alias ll='ls -lah'
alias gs='git status'查看全部别名:
bash
alias取消别名:
bash
unalias ll常用开发辅助命令
tee
一边显示,一边写入文件。
bash
echo hello | tee a.txt
echo world | tee -a a.txtbasename
取文件名部分。
bash
basename /home/user/test.txt输出:
bash
test.txtdirname
取目录部分。
bash
dirname /home/user/test.txt输出:
bash
/home/userrealpath
查看绝对路径。
bash
realpath file.txtseq
生成序列。
bash
seq 5
seq 1 2 9sleep
暂停若干秒。
bash
sleep 5watch
周期性执行命令。
bash
watch df -h
watch -n 1 "ps aux | grep python"time
统计命令执行时间。
bash
time ls
time python script.pystat
查看文件详细状态信息。
bash
stat file.txtfile
识别文件类型。
bash
file a.out
file test.txt
file image.png日志与排障常用组合
查看某服务日志
bash
journalctl -u nginx -f查看端口占用
bash
ss -tunlp | grep 8080查进程
bash
ps aux | grep java查大文件
bash
find / -type f -size +500M 2>/dev/null查最近修改文件
bash
find . -type f -mtime -1统计目录大小
bash
du -sh *查看 CPU/内存前几名进程
bash
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head实时看日志关键字
bash
tail -f app.log | grep --line-buffered ERROR打包整理后的高频命令速查
文件操作
bash
pwd
ls -lah
cd /path
mkdir -p dir
touch file.txt
cp -r src dst
mv old new
rm -rf dir查看内容
bash
cat file.txt
less file.txt
head -20 file.txt
tail -f app.log搜索
bash
find . -name "*.log"
grep -rn "error" .
sed -i 's/old/new/g' file.txt
awk -F: '{print $1}' /etc/passwd权限
bash
chmod 755 script.sh
chmod +x run.sh
chown -R user:group dir系统
bash
uname -a
free -h
df -h
du -sh .
top
ps aux
kill -9 PID网络
bash
ip addr
ping 8.8.8.8
curl -I https://example.com
ss -tunlp
ssh user@host
scp file user@host:/tmp/
rsync -av src/ dst/服务
bash
systemctl status nginx
sudo systemctl restart nginx
journalctl -u nginx -f包管理(Ubuntu)
bash
sudo apt update
sudo apt upgrade
sudo apt install package_name
sudo apt remove package_name