导读 what's the bat
工作中使用 ​​cat​​ 的频率较高,主要用于显示文本文件的具体内容。

但 ​​cat​​ 命令两个很重大的缺陷:

不能语法高亮输出
文本太长的话无法翻页输出。
所以 ​​cat​​​ 一般只用来查看行数不多的小文件,大文件需要用到 ​​head、tail​​ 等命令

国外有大牛将 ​​cat​​​ 命令进行了增强,开发了更好用的 ​​bat​​ 命令。

​​

bat​​ 主要功能:

语法高亮——支持根据编程语言以及 markdown 语法将文本关键词高亮,可阅读性大大增强;
自动翻页——如果文本内容太长,超过一页的话,它会自动将内容通过管道传到​​less​​ 命令,实现翻页的效果;
集成Git——​​bat​​ 命令跟 git 完美结合,将文本的修改部分在左侧展示,一眼就可以看出文件修改了啥。
显示不可打印字符——有些字符无法通过​​cat​​ 在屏幕上显示
安装

sudo apt-get install bat

这里要注意一下,由于名称的冲突,在 Ubuntu 下无法直接通过敲 bat 这三个字母运行 ​​bat​​​ 命令,而是需要敲 ​​batcat​​ 。为了方便,可以设置别名

alias "bat=batcat"
使用方法
基本使用

​​  bat​​​ 命令的用法跟 ​​cat​​​ 基本相同,除了输出与 ​​cat​​​ 一样的文本内容之外,还能输出包括行数、文件名、表格外框等元素。如果行数比较多,还可以使用 ​​--line-range​​ 来显示指定行数的内容

语法高亮

​​  bat​​ 对大部分编程语言和标记语言提供语法高亮,可读性更强。

查看所有支持的语言

bat --list-languages
Git 集成

​​  bat​​ 能从 git 中获取文件的修改并展示在边栏

显示不可打印字符

有时候文本里有一些不可显示的字符,如果使用 ​​cat​​​ 命令查看的话,将看不到这些字符。但如果使用 ​​bat​​​ 命令,加上 ​​-A​​​ 或者 ​​-show-all​​ 参数就能看到。

bat -A xxx.txt
自动翻页功能

​​cat​​​ 命令不管文本大小全部显示出来,使得在需要查看内容比较多的文本文件的时候,必须选择其它命令(比如 ​​more​​​ 、​​less​​ 等等)。

​​bat​​​ 命令在文本内容超过一屏可显示范围时,就会将其发送到 ​​less​​​ 命令,然后就可以像使用 ​​less​​​ 一样进行翻页操作。如果不想使用翻页功能,可以使用 ​​--paging=never​​ 参数关闭。

主题定制

​​  bat​​ 命令支持多种风格的语法高亮主题,可以满足大部分需求。

查看 ​​bat​​ 支持的所有主题

bat --list-themes

如果想指定主题为 ​​GitHub​​ ,可以使用以下命令

bat --theme=GitHub 文件名

但这样做是临时的,关闭终端工具或者系统重启,主题就会恢复默认。可以通过设置 ​​BAT_THEME​​ 环境变量来选定主题。

把 ​​export BAT_THEME="GitHub"​​ 添加到 shell 的启动脚本来取得永久效果。除此之外,还可以自定义输出样式,甚至可以自己添加新的语言和语法,输出让自己满意的高亮样式。

原文来自:https://blog.51cto.com/u_15549234/5418639

本文地址:https://www.linuxprobe.com/linux-bat.html编辑:王华超,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/