作为天天和终端打交道的开发者,不管是写Go代码、跑OpenClaw自动化脚本,还是日常运维服务器,我每天敲得最多的命令,就是ls和cat。
但系统自带的这两个命令,实在太鸡肋了:
ls输出黑白一片,分不清文件、文件夹、可执行文件,找东西全靠瞎看cat看代码没有高亮,长文件翻起来巨麻烦,还要配合less、grep来回折腾- 没有git状态显示,改了文件都不知道有没有提交
直到我用上了exa和bat这两个神器,直接把我的终端体验拉满,每天至少帮我省1小时的无效操作。今天就给大家出保姆级教程,5分钟就能装好用上,全平台兼容,零代码基础也能跟着做。
一、bat:替代cat,终端里的代码高亮神器
bat 是cat的平替升级版,核心解决了「终端看文件、看代码体验差」的痛点,我写Go代码、改OpenClaw配置文件,天天都在用。

1. 一键安装命令
- MacOS:
1brew install bat
- Ubuntu/Debian:
1apt install bat
- CentOS/RHEL:
1dnf install bat
2. 3个我天天用的核心实战用法
用法1:直接查看文件,自带代码高亮+行号
这是最基础的用法,直接用bat 文件名替代cat 文件名,效果天差地别。
1bat main.go

不管是Go、Python、Shell代码,还是配置文件,都能自动识别语法,高亮显示,还自带行号,而且支持自动分页,并不会像cat一样全部输出出来,看代码再也不用瞎找行。
用法2:显示git修改状态,改了哪里一眼看清
bat会自动识别git仓库,对比文件的修改记录,新增、删除的内容会直接标出来,不用再敲git diff。

如果不想打开 IDE,那么用bat看一下git的修改记录,改了哪里一眼就能看清,巨方便。
用法3:配合搜索,精准定位内容
bat同样可以支持管道操作,配合rg、grep使用,搜索关键词,直接高亮显示匹配的内容,长文件里找东西,不用再翻半天。
1bat openclaw.json | grep "minimax"
用bash的用户,把.zshrc换成.bashrc就行。
二、eza:替代ls,终端文件列表神器
eza是ls的平替升级版,该项目是 exa 的fork维护版本,后者没有维护了。它解决了「ls输出乱、找不到文件、信息不全」的痛点,是我打开终端第一个要敲的命令。

1. 一键安装命令
- MacOS:
1brew install eza
- Ubuntu/Debian:
1apt install eza
- CentOS/RHEL:
1dnf install eza
2. 3个高频实战用法,我已经设成了永久别名
用法1:基础列表,带图标+颜色,一眼分清文件类型
直接用eza替代ls,输出自带图标、颜色,文件夹、文件、可执行文件、压缩包,用不同颜色区分,再也不用黑白里找文件。
1eza
用法2:详细列表,显示权限、大小、修改时间、git状态
用-l参数,替代ls -l,显示的信息比ls全得多,还会自动把文件大小换算成KB/MB/GB,不用自己算字节。
1eza -lh
加上--git参数,还能显示每个文件的git状态,哪些改了没提交,哪些是新增的,一眼看清。
1eza -lh --git

用法3:树形显示文件夹结构,不用再装tree命令
exa自带树形结构显示,替代tree命令,还能控制层级,看项目结构巨方便。
1# 显示2级文件夹结构
2exa -T -L 2

3. 老墨懒人优化:设置永久别名,不用每次敲长命令
我把常用的命令都设成了别名,打开终端敲2个字母就能用,大家可以直接抄我的作业:
打开你的.zshrc或.bashrc文件,把下面的内容复制进去,执行source生效就行。
1# exa别名
2alias ls='eza'
3alias ll='eza -lh'
4alias lt='eza -T -L 2'
5alias lg='eza -lh --git'
6
7# bat别名
8alias cat='bat'
最后说两句
bat和eza,是我用了几年的终端入门神器,也是我给所有刚接触终端的朋友,第一个推荐的工具。
它们没有复杂的配置,不用写一行代码,几分钟就能装好,装好就能立刻提升你的终端效率,不管是写代码、跑脚本,还是运维服务器,都能用得上。
你私藏了什么好用的工具?欢迎评论区分享。
极客老墨,继续折腾!