🐧 Linux 命令速查表
精选高频命令,适用于 Web/后端/运维方向的日常终端开发者。包含文件操作、内容处理、网络调试、性能监控、构建部署等场景。
📁 文件与目录操作
命令 |
用途 |
示例 |
ls -alh |
查看目录内容(含隐藏,人类可读) |
ls -alh /var/log |
cd path |
进入目录 |
cd /etc/nginx |
pwd |
显示当前路径 |
pwd |
mkdir -p |
创建多级目录 |
mkdir -p /data/logs/nginx |
rm -rf |
删除文件/目录 |
rm -rf ./build/ |
cp -r |
复制目录或文件 |
cp -r conf/ backup/ |
mv |
移动或重命名文件 |
mv a.txt b.txt |
touch |
新建空文件 |
touch .env |
find . -name "*.log" |
查找文件 |
find /var -name "*.conf" |
stat file |
文件详细信息 |
stat nginx.conf |
tree -L 2 |
显示目录结构 |
tree -L 2 ./src |
📄 内容查看与文本处理
命令 |
用途 |
示例 |
cat |
查看文件 |
cat /etc/hosts |
tac |
反向查看文件 |
tac error.log |
head -n 20 |
查看前 20 行 |
head -n 20 sys.log |
tail -f |
实时查看日志 |
tail -f access.log |
less |
分页浏览 |
less docker.log |
wc -l |
统计行数 |
wc -l log.txt |
grep -rn "关键字" |
搜索文本内容 |
grep -rn "Exception" ./logs |
cut -d ":" -f1 |
文本按列提取 |
cut -d ":" -f1 /etc/passwd |
awk '{print $1}' |
强大文本处理 |
awk '{print $3}' access.log |
sed 's/old/new/g' |
替换内容 |
sed 's/error/info/g' log.txt |
`sort |
uniq -c` |
排序+去重+计数 |
diff a.txt b.txt |
文件对比 |
diff config.old config.new |
xargs |
参数传递 |
`cat files.txt |
tee |
输出并写入文件 |
`echo "ok" |
💻 系统监控与性能分析
命令 |
用途 |
示例 |
top / htop |
实时查看资源占用 |
htop |
`ps aux |
grep java` |
进程列表 |
kill -9 PID |
杀死进程 |
kill -9 1234 |
free -h |
查看内存 |
free -h |
df -h |
查看磁盘 |
df -h |
du -sh * |
查看文件夹大小 |
du -sh logs/* |
uptime |
系统运行时间 |
uptime |
vmstat 1 |
内存/IO/进程状态 |
vmstat 1 |
iostat -x 1 |
IO 性能分析 |
iostat -x 1 |
lsof -i :80 |
查看端口文件 |
lsof -i :3306 |
watch -n 2 |
定时执行命令 |
watch -n 2 "df -h" |
🌐 网络调试与远程操作
命令 |
用途 |
示例 |
ping |
测试连通性 |
ping baidu.com |
curl -I |
HTTP 请求头 |
curl -I https://axuu.cn |
wget |
下载文件 |
wget http://example.com/app.tar.gz |
nc -zv host port |
测试端口 |
nc -zv 127.0.0.1 8080 |
ss -tulnp |
查看端口监听 |
`ss -tulnp |
traceroute |
路由追踪 |
traceroute www.baidu.com |
dig domain |
DNS 查询 |
dig axuu.cn |
scp |
拷贝远程文件 |
scp file user@host:/path |
rsync -avz |
高效同步 |
rsync -avz ./ root@host:/var/www/ |
ssh |
远程登录 |
ssh user@ip |
🛠️ 构建、版本控制与容器
命令 |
用途 |
示例 |
git status |
Git 状态 |
git status |
git log --oneline |
简洁日志 |
git log --oneline -10 |
mvn clean install |
Maven 构建 |
mvn clean install -DskipTests |
npm install |
Node 包管理 |
npm install |
python3 main.py |
执行脚本 |
python3 server.py |
docker ps -a |
查看容器 |
docker ps -a |
docker exec -it |
进入容器 |
docker exec -it nginx bash |
docker logs -f |
查看日志 |
docker logs -f myapp |
docker-compose up -d |
启动服务 |
docker-compose up -d |
📦 压缩打包与备份
命令 |
用途 |
示例 |
tar -czf |
压缩为 .tar.gz |
tar -czf logs.tar.gz logs/ |
tar -xzf |
解压 .tar.gz |
tar -xzf logs.tar.gz |
zip -r |
压缩 zip |
zip -r source.zip src/ |
unzip |
解压 zip 文件 |
unzip source.zip |
⏰ 定时任务与服务管理
命令 |
用途 |
示例 |
crontab -e |
编辑定时任务 |
0 3 * * * /bin/bash backup.sh |
systemctl status nginx |
查看服务状态 |
systemctl restart docker |
journalctl -u nginx -f |
查看服务日志 |
journalctl -u myapp -n 100 |
📚 命令帮助与文档查询
命令 |
用途 |
示例 |
man grep |
命令手册 |
man find |
command --help |
查看帮助 |
tar --help |
whatis awk |
命令简要说明 |
whatis ls |
apropos network |
搜索相关命令 |
apropos compress |
✅ 建议将本文件保存为 linux-terminal-dev-cheatsheet.md
,并通过 Git 或 Wiki 持续维护更新。
💡 补充建议:配合使用 alias
自定义高频操作,如 alias gs='git status'
。
🛡️ Linux 防火墙工具对比与命令大全
本文涵盖四种主流 Linux 防火墙工具的命令大全、区别、默认使用情况,便于终端开发者调试、部署和排障。
📊 一览对比
工具 |
类型 |
使用层级 |
默认系统 |
配置难度 |
特点说明 |
iptables |
内核级工具 |
传统 netfilter 接口 |
Debian、CentOS 6/7、Alpine |
⚠️ 较高 |
老牌强大、规则灵活、手动管理 |
ufw |
iptables 封装 |
高层简化工具 |
Ubuntu 默认(桌面、服务器) |
✅ 简单 |
面向用户友好、适合轻量配置 |
nftables |
新一代内核防火墙 |
取代 iptables |
Debian 10+、Fedora 31+、CentOS 8+、Alpine 3.13+ |
🔧 中等 |
高性能、结构化规则、取代 iptables |
firewalld |
nft/iptables 管理器 |
动态防火墙 |
RHEL/CentOS 7+、Fedora、openSUSE |
✅ 中等 |
动态加载、支持 zones、支持 nft 和 iptables 后端 |
🔥 iptables 命令大全
传统防火墙
# 查看现有规则
sudo iptables -L -n -v
# 允许 22 端口(SSH)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 拒绝某 IP 访问
sudo iptables -A INPUT -s 1.2.3.4 -j DROP
# 删除规则(按序号)
sudo iptables -D INPUT 1
# 清空所有规则
sudo iptables -F
# 保存规则(不同系统不同命令)
sudo iptables-save > /etc/iptables/rules.v4 # Debian
sudo service iptables save # CentOS 6
✅ ufw 命令大全
Ubuntu 简化防火墙
# 启用 / 禁用防火墙
sudo ufw enable
sudo ufw disable
# 查看状态与规则
sudo ufw status verbose
# 允许 / 禁止端口或服务
sudo ufw allow 22
sudo ufw allow 8080/tcp
sudo ufw deny 21
sudo ufw delete allow 8080
# 允许某 IP 访问某端口
sudo ufw allow from 192.168.1.10 to any port 22
# 重置所有规则
sudo ufw reset
🧩nftables 命令大全
iptables 的替代者
# 查看当前规则
sudo nft list ruleset
# 添加简单规则
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 \; }
sudo nft add rule inet filter input tcp dport 22 accept
# 删除规则
sudo nft delete rule inet filter input handle 10
# 清空规则集
sudo nft flush ruleset
# 导出和导入规则
sudo nft list ruleset > /etc/nftables.conf
sudo nft -f /etc/nftables.conf
# 启用开机启动
sudo systemctl enable nftables
🌐 firewalld 命令大全
# 启动 firewalld 服务
sudo systemctl start firewalld
sudo systemctl enable firewalld
# 查看状态和区域信息
sudo firewall-cmd --state
sudo firewall-cmd --get-zones
sudo firewall-cmd --get-active-zones
# 添加规则(即时生效 + 永久)
sudo firewall-cmd --zone=public --add-port=80/tcp
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 移除规则
sudo firewall-cmd --zone=public --remove-port=80/tcp
# 允许服务
sudo firewall-cmd --zone=public --add-service=http --permanent
# 重载规则
sudo firewall-cmd --reload
📌 建议使用选择
使用场景 |
推荐防火墙 |
理由 |
Ubuntu |
ufw |
简洁方便,封装好 |
CentOS 7/8 |
firewalld |
动态规则 + 支持服务管理 |
安全加固环境 |
nftables |
更现代,性能好 |
手动脚本配置、Docker 容器宿主 |
iptables |
灵活、兼容性好 |
📎 判断当前系统使用哪个防火墙
# 检查 firewalld 是否运行
systemctl status firewalld
# 检查 ufw 是否启用
sudo ufw status
# 检查是否使用 nftables
sudo nft list ruleset
# 检查是否有 iptables 规则
sudo iptables -L