具体使用还是阅读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 |
典型组合案例
- 统计日志中最常见的 IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 5
- 批量替换文件中的字符串
find . -name "*.txt" | xargs sed -i 's/foo/bar/g'
- 实时查看错误日志
tail -f app.log | grep "ERROR"
- 下载多个 URL
cat urls.txt | xargs wget -c