Unix 工具速查表

2 min

具体使用还是阅读man靠谱,但是暂列在此处以便生疏时查看。

文本处理类

工具作用示例
cat显示/连接文件cat file.txt
grep筛选匹配的行(支持正则)grep "ERROR" app.log
awk按列处理文本,可写逻辑awk '{print $1}' access.log
sed流式文本替换/编辑sed 's/foo/bar/g' file.txt
cut按列截取cut -d, -f2 data.csv
sort排序sort numbers.txt
uniq去重/计数(需配合 sort)sort words.txt | uniq -c
wc统计字数/行数/字节数wc -l file.txt
head查看前几行head -n 10 file.txt
tail查看最后几行(常用于日志)tail -f app.log

文件与系统类

工具作用示例
ls列出文件ls -lh
cp复制cp a.txt b.txt
mv移动/重命名mv old new
rm删除rm -rf dir/
find查找文件find . -name "*.log"
du查看目录占用du -sh *
df查看磁盘空间df -h
ps查看进程ps aux | grep nginx
kill杀死进程kill -9 1234
top / htop实时监控进程top

网络类

工具作用示例
curl发送 HTTP 请求curl -I https://example.com
wget下载文件wget https://example.com/file
ping测试网络连通性ping 8.8.8.8
ss / netstat查看端口和连接ss -tulnp

组合辅助工具

工具作用示例
|(管道)把前一个命令的输出传给下一个命令cat file | grep "foo"
xargs把输入转为参数cat urls.txt | xargs curl -O
tee同时输出到文件和屏幕ls | tee files.txt

典型组合案例

  1. 统计日志中最常见的 IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 5
  1. 批量替换文件中的字符串
find . -name "*.txt" | xargs sed -i 's/foo/bar/g'
  1. 实时查看错误日志
tail -f app.log | grep "ERROR"
  1. 下载多个 URL
cat urls.txt | xargs wget -c