Linux 常见命令速查
1. 文件与目录操作
| 命令 |
说明 |
示例 |
ls |
列出目录 |
ls -la / ls -lh |
cd |
切换目录 |
cd /var/log / cd -(回上次目录) |
pwd |
当前路径 |
pwd |
mkdir |
创建目录 |
mkdir -p a/b/c |
rmdir |
删除空目录 |
rmdir old-dir |
rm |
删除文件 |
rm file.txt / rm -rf dir/ |
cp |
复制 |
cp -r src/ dest/ |
mv |
移动/重命名 |
mv old.txt new.txt |
touch |
创建空文件 / 更新时间戳 |
touch README.md |
cat |
查看文件内容 |
cat /etc/hosts |
less |
分页查看(支持上下翻) |
less large.log |
head |
查看前 10 行 |
head -n 20 file.txt |
tail |
查看末尾 / 实时跟踪 |
tail -f /var/log/syslog |
find |
搜索文件 |
find . -name "*.go" |
locate |
快速文件名搜索(基于数据库) |
locate nginx.conf |
which |
定位可执行文件路径 |
which python3 |
ln |
创建链接 |
ln -s /target link(软链接) |
du |
目录/文件大小 |
du -sh * |
df |
磁盘空间 |
df -h |
stat |
文件详细信息(权限、时间戳等) |
stat app.log |
2. 文本处理
| 命令 |
说明 |
示例 |
grep |
文本搜索 |
grep -rn "error" /var/log/ |
sed |
流编辑器(替换/删除) |
sed 's/foo/bar/g' file.txt |
awk |
文本分析/提取列 |
awk '{print $1,$3}' data.txt |
cut |
按列切分 |
cut -d',' -f1,3 data.csv |
sort |
排序 |
sort -n numbers.txt |
uniq |
去重(通常先 sort) |
sort \| uniq -c |
wc |
统计行/词/字符数 |
wc -l file.txt |
diff |
文件对比 |
diff file1 file2 |
tr |
字符替换/删除 |
cat file \| tr '[:upper:]' '[:lower:]' |
tee |
同时输出到屏幕和文件 |
echo "ok" \| tee result.txt |
常用管道组合:
# 统计最常出现的 10 个 IP
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10
# 查找占用最多的 5 个目录
du -sh * | sort -rh | head -5
# 递归搜索 TODO 并排除 node_modules
grep -rn "TODO" --exclude-dir=node_modules .
3. 权限与用户管理
| 命令 |
说明 |
chmod |
修改文件权限 |
chmod 755 script.sh / chmod +x script.sh |
chown |
修改所有者 |
chown user:group file.txt |
whoami |
当前用户 |
id |
用户 UID/GID 信息 |
sudo |
以 root 身份执行 |
sudo systemctl restart nginx |
su |
切换用户 |
su - username |
passwd |
修改密码 |
useradd / userdel |
添加/删除用户 |
groupadd |
添加用户组 |
groups |
当前用户所属组 |
umask |
默认权限掩码 |
umask 022 |
4. 进程管理
| 命令 |
说明 |
ps aux |
列出所有进程 |
ps aux \| grep nginx |
查找特定进程 |
top / htop |
实时进程监控(htop 更直观) |
kill PID |
终止进程(默认信号 15) |
kill -9 PID |
强制终止 |
killall 进程名 |
按名称终止 |
pkill -f 模式 |
按命令行匹配终止 |
bg / fg |
后台/前台切换 |
jobs |
查看后台任务 |
nohup cmd & |
后台运行且不受终端退出影响 |
ctrl+z |
暂停当前进程,bg 转到后台 |
systemctl status 服务 |
查看服务状态(systemd) |
systemctl start/stop/restart 服务 |
启动/停止/重启服务 |
journalctl -u 服务 -f |
查看服务日志 |
5. 系统信息与监控
| 命令 |
说明 |
uname -a |
内核版本和系统信息 |
lsb_release -a |
发行版信息(Ubuntu/Debian) |
cat /etc/os-release |
通用发行版信息 |
hostname |
主机名 |
uptime |
运行时间和平均负载 |
free -h |
内存使用 |
vmstat |
虚拟内存统计 |
iostat |
CPU 和磁盘 I/O |
lscpu |
CPU 详情 |
lsblk |
块设备(磁盘分区) |
dmesg |
内核启动日志 |
dmesg \| tail |
journalctl |
systemd 日志 |
lsof |
列出打开的文件/端口 |
lsof -i :80 |
fuser |
哪个进程在使用文件/端口 |
fuser 80/tcp |
crontab -l |
查看定时任务 |
history |
命令历史 |
6. 网络相关
| 命令 |
说明 |
ping |
连通性测试 |
ping -c 4 baidu.com |
curl |
HTTP 请求 |
curl -I https://github.com |
wget |
下载文件 |
wget -c url(支持断点续传) |
ip addr / ifconfig |
查看 IP 地址 |
ss -tlnp |
查看监听端口(替代 netstat) |
ss -tlnp \| grep :8080 |
查看 8080 端口占用 |
nc (netcat) |
网络调试瑞士军刀 |
nc -zv host 80 |
dig |
DNS 查询 |
dig baidu.com |
nslookup |
DNS 查询(简化版) |
traceroute |
路由追踪 |
iptables -L |
查看防火墙规则 |
scp |
远程复制 |
scp file user@host:/path |
rsync |
同步文件(增量) |
rsync -avz src/ dest/ |
ssh |
远程登录 |
ssh user@host -p 22 |
ssh-keygen |
生成 SSH 密钥 |
7. 包管理
Debian / Ubuntu (apt)
sudo apt update # 更新软件源
sudo apt upgrade # 升级所有包
sudo apt install pkg # 安装
sudo apt remove pkg # 卸载
sudo apt autoremove # 清理无用依赖
apt search keyword # 搜索包
apt show pkg # 查看包详情
Red Hat / CentOS / Fedora (dnf/yum)
sudo dnf install pkg # 安装
sudo dnf remove pkg # 卸载
sudo dnf update # 更新
dnf search keyword # 搜索
通用 (snap / flatpak)
snap install pkg
flatpak install pkg
8. 实用技巧
快捷键
| 快捷键 |
作用 |
Ctrl+C |
终止当前命令 |
Ctrl+D |
EOF(退出终端) |
Ctrl+Z |
暂停进程 |
Ctrl+R |
反向搜索历史命令 |
Ctrl+L |
清屏 |
Ctrl+A / Ctrl+E |
跳到行首 / 行尾 |
!! |
重复上一条命令 |
!$ |
上条命令的最后一个参数 |
重定向
cmd > file.txt # 覆盖写入
cmd >> file.txt # 追加写入
cmd 2> errors.log # 错误输出重定向
cmd &> all.log # 标准输出+错误合并
cmd > /dev/null 2>&1 # 静默所有输出
其他
# 一行循环处理
for f in *.txt; do echo "处理 $f"; done
# xargs 批量操作
find . -name "*.log" | xargs rm -f
# alias 快捷别名
alias ll='ls -alF'
alias gs='git status'
生成时间:2025-07-03 · 数据来源:Linux 通用命令 + GNU coreutils + systemd 生态