Unix/Linux 环境中有许多强大但相对冷门的命令行工具,今天我们的焦点就是这些宝藏小店!
以下是一些比较有代表性的,已经按照类别整理!
每一个工具,包含功能说明和使用例子!
1. 文件与数据处理
- ripgrep (rg)
比 grep更快,默认忽略 .gitignore文件,支持 Unicode。
rg "pattern" --type py # 快速搜索 Python 文件
- fd
替代 find,语法简单,速度快,彩色输出。
fd "*.log" --size +1M # 查找大于 1MB 的日志文件
- jq/ yq
JSON/YAML 处理神器,支持查询、过滤和转换。
cat data.json | jq '.items[] | select(.price > 100)'
- sd
更直观的 sed替代品,使用正则表达式批量替换。
sd "foo" "bar" $(fd -t f) # 替换所有文件中的字符串
2. 系统监控与调试
- htop/ btop
htop-增强版 top,支持树状视图、鼠标操作;
btop-更现代化(图形化统计)。
- ncdu
交互式磁盘使用分析器,比 `du` 更直观。
- lsof
查看文件/网络连接,结合 `grep` 可精准定位问题。
lsof -i :8080 # 检查谁占用 8080 端口
- bpytop
Python 写的资源监控工具,支持实时图表。
果然,Linux程序员的一大爱好,就是写一个“Top”!
3. 网络工具
- httpie
更人性化的 curl替代品,API 调试利器。
http POST httpbin.org/post name=John
- mtr
结合 ping 和 traceroute,实时诊断网络问题。
- socat
网络版 cat,支持端口转发、SSL 隧道等高级功能。
socat TCP-LISTEN:8080,fork TCP:remote:80 # 简易端口转发
4. 开发与文本编辑
- ag (The Silver Searcher)
类似 rg,专为代码搜索优化,自动忽略版本控制文件。
ag "hello" /path/to/code/
- bat
cat的升级版,支持语法高亮、Git 集成和分页器。
bat --line-range 10:20 config.yaml
- entr
文件变化时自动执行命令,适合开发热重载。
ls *.py | entr -r python app.py # 代码变更时重启应用
5. 效率增强
- fzf
模糊搜索工具,可集成到 Shell 实现快速文件/历史命令查找。
Ctrl+R # 搜索历史命令 vim $(fzf) # 模糊搜索打开文件
- zoxide
智能目录跳转,替代 cd,记忆访问频率。
z foo # 快速跳转到名称含 "foo" 的常用目录
- tldr
简化的命令手册,提供实用示例。
6. 数据安全与传输
- rsync
增量备份、断点续传,配合 `--dry-run` 模拟操作。
rsync -avz --progress --partial ~/data/ user@remote:/backup/
- age
简单的文件加密工具,比 GPG 更易用。
age -p secret.txt > secret.txt.age
7. 终端多路复用与管理
- tmux
通过配置实现会话自动保存/恢复。
tmux new -s dev # 创建可持久化的开发会话
- zellij
现代化终端复用器,内置布局管理、面板切割。
8 组合使用示例
- 查找并编辑最近修改的配置文件
vim $(fd -t f "\.conf$" ~/.config | sort -r | head -1)
- 监控日志并高亮关键词
tail -f /var/log/syslog | rg --color=always "ERROR|WARN"
- 快速分析磁盘占用并交互式清理
ncdu /home && rm -rf $(fd -t d "__pycache__" ~/projects)
通过Shell管道能极大提升命令行效率,建议从 `fzf`、`ripgrep`、`bat` 开始尝试。
工欲善其事,必先利其器!
当然,还有一个主角,那就是Shell、Python这些脚步语言,改天介绍!
我是明月,
一个互联网Linuxer!