我的终端经常变成一个带光标的杂物抽屉。历史命令藏在深处,别名悄悄繁殖,最后我还是得上网搜几个月前刚解决过的tar、find、grep或Git命令。
这不是"人类史上最佳CLI工具"清单。那种清单通常变成47个装完 admire 完就忘的工具。这五个是我在zsh、bash、macOS和Linux上真正会伸手去用的,想让终端工作少点烦心的时候。
![]()
终端工作流很少因为一次戏剧性崩溃而垮掉。它们通常是通过微小的重复烦恼逐渐衰败的。你忘了确切的命令。你记得有个别名,但忘了它干嘛的。你知道某个文件存在,但不知道在哪。你打开配置文件,立刻希望它有语法高亮。你运行ls,得到一堵灰色的文件名墙——技术上包含信息,就像垃圾场技术上包含家具一样。
好的CLI工具不需要替换你的整个工作流。有用的那些只是削掉摩擦。它们让你已经在做的事稍微快一点、清楚一点,或者更难搞砸。
我的首选5个工具是:
honorable mentions 有很多:zoxide、fd、jq、httpie、tmux、delta、lazygit、just、tldr、pet、navi、direnv、starship,以及一半用Rust重写的旧Unix命令替代品。我喜欢其中很多。但如果目标是减少烦人的终端时刻,这五个覆盖了一个实用循环:记住、查找、搜索、检查、导航。
先从有偏见的那个开始。我造了gloss,因为我一直在重复搜索同样的shell命令,把别名散落到历史、笔记、随机Markdown文件和shell配置里。
某种程度上,shell历史停止作为有用的记忆,变成了混乱的考古遗址。是的,命令大概在里面。某个地方。埋在六次失败尝试、三个拼写错误和一次可疑的sudo实验下面。
gloss给可复用命令一个小的本地归宿。你可以保存带描述和标签的命令,在TUI里搜索,扫描zsh或bash配置文件,把选中的别名同步到一个管理的shell配置块里,还带备份。
最后这点很重要。我不想要一个工具像拿着滚筒刷没人管一样,把别名喷得满.zshrc或.bashrc都是。gloss只在一个专门的管理块里写入:
# >>> gloss aliases >>>
alias gs="git status"
alias ll="ls -lah"
# <<< gloss aliases <<<
它不是要替代所有dotfiles设置。一个纯文本文件管道进fzf就是完全有效的方案。类似这样的东西能走很远:
git status # 检查当前仓库状态 git
tar -czf archive.tar.gz folder # 创建压缩归档 tar gzip
curl -I https://example.com # 检查头部 curl http
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.