程序员必备!这10个Linux命令行黑科技,让你写代码快到飞起!
“还在用鼠标点来点去?Linux命令行才是程序员的终极生产力工具!”
无论是本地开发、服务器调试还是自动化脚本,掌握这些命令行技巧,你的效率至少提升300%!
1. 极速文件搜索:fd(比find快10倍)
场景:快速定位项目中的.py或.js文件
fd "\.py#34; /path/to/project # 递归查找所有Python文件
fd -e js --exclude node_modules # 找JS文件,忽略node_modules
优势:
- 默认忽略.gitignore文件(比如自动跳过node_modules)
- 比find语法简单,速度更快
2. 代码内容搜索:rg(ripgrep)
场景:在百万行代码中找TODO或特定函数
rg "def calculate_" # 查找所有Python函数定义
rg -t py "TODO" # 只在Python文件中找TODO注释
优势:
- 比grep快得多,支持多线程
- 自动识别文件类型(-t py限定Python文件)
3. 终端多任务:tmux(永不掉线的SSH会话)
场景:远程服务器跑长时间任务,断网也不怕
tmux new -s dev # 创建新会话
Ctrl+b d # 临时退出会话
tmux attach -t dev # 重新连接
优势:
- 会话持久化,SSH断开后任务继续运行
- 分屏操作:Ctrl+b % 垂直分屏,Ctrl+b " 水平分屏
4. 文件差异对比:diff-so-fancy
场景:让git diff输出更易读
git diff --color | diff-so-fancy # 高亮+行号显示差异
优势:
- 彩色标记增删改,直观对比代码变更
5. 目录结构可视化:tree
场景:快速查看项目文件结构
tree -L 2 -I "node_modules" # 显示2层目录,忽略node_modules
优势:
- 替代ls -R的混乱输出,层次清晰
6. HTTP请求调试:httpie(比curl更人性化)
场景:测试API接口
http GET https://api.example.com/users Authorization:"Bearer token"
优势:
- JSON自动高亮格式化
- 语法比curl直观,无需记复杂参数
7. 实时监控日志:lnav(日志分析神器)
场景:排查服务器错误日志
lnav /var/log/nginx/error.log # 自动解析时间戳+高亮关键词
优势:
- 支持SQL查询日志::filter-out level=INFO
- 自动合并多行日志(如Java异常堆栈)
8. 快速跳转目录:zoxide(智能版cd)
场景:秒切到常用项目目录
z project-name # 模糊匹配跳转到~/projects/project-name
优势:
- 学习你的访问习惯,越用越精准
- 替代cd ../../..的繁琐路径
9. 命令行剪贴板:xclip
场景:终端内容复制到系统剪贴板
cat config.yaml | xclip -sel clip # 复制文件内容到剪贴板
优势:
- 无需鼠标选中,直接管道操作
10. 自动化脚本:fzf(模糊查找+交互)
场景:交互式选择文件/进程/历史命令
kill -9 $(ps aux | fzf | awk '{print $2}') # 可视化选择进程并杀死
优势:
- 支持实时模糊搜索(比如输入py过滤Python进程)
- 可集成到任何命令中增强交互性
终极组合技示例
案例:快速找到含TODO的Python文件,用VSCode打开编辑
code $(rg -t py -l "TODO" | fzf)
效果:
- rg找出所有带TODO的Python文件
- fzf交互式选择其中一个
- code用VSCode打开该文件
附:工具安装命令
工具 | 安装命令 |
fd | sudo apt install fd-find |
rg | sudo apt install ripgrep |
tmux | sudo apt install tmux |
fzf | git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install |
总结:从“能用”到“极客”
场景 | 推荐工具 |
找文件 | fd |
搜代码 | rg |
多任务 | tmux |
调API | httpie |
自动化 | fzf + Shell脚本 |
“这些工具不是‘可有可无’,而是让你每天节省2小时的‘生产力杠杆’!”
现在挑一个工具尝试,评论区分享你的体验!