一、命令行效率的核心不是记命令
命令行用得快,不是因为记住了很多冷门参数,而是把高频操作变成稳定的工作流。
日常开发里最常见的操作其实很固定:
- 找文件。
- 搜索代码。
- 查看日志。
- 执行构建。
- 连接服务器。
- 清理临时文件。
- 重复执行一组检查。
如果每次都从头输入路径、拼参数、复制命令,时间会被这些小摩擦持续消耗。更好的方式是把常用工具组合起来,让命令行成为一个可重复、可沉淀的操作界面。
二、先把目录跳转变快
很多低效来自目录切换。项目路径一深,反复 cd ../../.. 很容易出错。
可以先准备几个常用别名:
1 | alias croot='cd ~/work' |
如果项目很多,可以使用 zoxide 这类基于访问频率的跳转工具:
1 | z blog |
它的好处是不用记完整路径,只要这个目录曾经访问过,就可以按关键字跳转。目录跳转越轻,越容易保持专注。
三、搜索优先用专门工具
查找代码时,建议优先使用 rg,也就是 ripgrep。它默认会跳过 .git、二进制文件和常见忽略目录,速度比普通递归搜索更适合代码仓库。
常用方式:
1 | rg "UserRepository" |
如果只想看某类文件:
1 | rg "CoroutineScope" -g "*.kt" |
搜索时不要只记一个命令。更重要的是形成顺序:
- 先用
rg --files缩小文件范围。 - 再按关键字定位入口。
- 最后打开相关文件阅读上下文。
这个顺序比直接在 IDE 里全局乱点更稳定,也更容易复盘。
四、让日志查看有固定套路
日志排查通常不是看一眼就结束,而是不断过滤、跟踪和定位时间点。
常用组合:
1 | tail -f app.log |
如果日志来自 systemd 服务:
1 | journalctl -u my-app -n 200 --no-pager |
建议给服务排查准备一个小脚本:
1 |
|
保存为 logs,以后查看服务日志只需要:
1 | logs nginx |
脚本不需要复杂,关键是稳定、可记、可复制。
五、把重复命令放进项目脚本
每个项目都应该有一组标准命令,例如:
1 | npm run lint |
或者:
1 | make test |
不要让团队成员从文档里复制长命令。长命令适合写进脚本,人的入口应该尽量短。
例如把本地检查收敛成:
1 |
|
这样提交前只需要执行:
1 | ./check.sh |
如果检查失败,脚本会在第一处错误停止,定位成本也更低。
六、用历史记录复用经验
命令行历史记录不是临时缓存,而是个人工作经验的一部分。
可以用这些方式找回命令:
1 | history | rg "docker" |
也可以使用 Ctrl + r 做反向搜索。对于很长、很容易输错的命令,应该在验证可用之后马上沉淀成脚本或别名,而不是指望下次还能从历史里翻出来。
典型例子:
1 | alias gs='git status --short' |
别名应该只放真正高频的命令。太多别名会增加记忆负担,最后反而没人用。
七、脚本要有边界
写脚本时最容易犯的错误,是把一次性的操作写成看起来通用的工具。
更稳妥的规则是:
- 高频重复操作,写脚本。
- 有破坏性的操作,要求显式参数。
- 会改生产环境的操作,打印目标环境。
- 涉及删除、覆盖、发布的操作,先做检查。
例如部署脚本至少应该打印当前分支和目标环境:
1 |
|
脚本不是为了炫技,而是为了减少手工操作的偶然性。
八、保持工作流可迁移
个人机器上的配置可以很顺手,但项目里的关键命令不能只依赖个人环境。
建议区分两类内容:
- 个人效率配置:别名、主题、跳转工具、补全工具。
- 项目标准入口:
package.json、Makefile、scripts/、README。
个人配置可以提高速度,项目入口负责让其他人也能跑起来。一个好的命令行工作流,应该既让自己快,也不让项目变得难以接手。
九、小结
命令行效率的提升,通常来自几个朴素动作:
- 让目录跳转更短。
- 用
rg快速缩小搜索范围。 - 给日志查看准备固定入口。
- 把重复检查写进脚本。
- 把长命令沉淀成项目命令。
- 对危险操作保持显式和可见。
工具本身并不神秘。真正重要的是把每天都会重复的动作变成稳定流程,让注意力回到代码、问题和交付本身。
- 本文链接: https://blog.hansong.icu/2026/06/23/CLI_Productivity_Workflow/
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。