Administrator
发布于 2025-07-18 / 0 阅读
0
0

Linux-Command

🐧 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

评论