作为程序员,想必大家都对cat命令不陌生。它的主要功能是显示文本文件的具体内容。但是cat命令有两大缺陷:不能输出语法高亮;如果文本太长,则无法翻页输出。正是这两个不足,导致cat只能用来查看行数较少的小文件。为了解决cat命令的这两个缺点,国外有专家对cat命令进行了增强,强大到连猫妈妈都不知道!它就是本文的主角:bat命令。bat命令有什么用?简单的说,有以下几种:语法高亮。可以根据编程语言和markdown语法高亮文本关键字,大大增强可读性;自动翻页。如果文本内容过长,超过一页,会自动将内容pipe给less命令,实现翻页的效果;整合Git。bat命令与git完美结合,文本修改部分显示在左侧,让你一目了然的看到文件中修改了什么。显示不可打印的字符。有些字符通过cat无法显示在屏幕上,但是bat让它们无处遁形!蝙蝠的这些特性,真的让猫分分钟走下神坛!(难怪人家都是b开头,牛B的B!)1.bat命令的安装现在很多Linux发行版的官方源都内置了这个命令,所以你只需要使用他们对应的安装工具安装即可。以Ubuntu为例,安装bat只需要运行如下命令:$sudoapt-getinstallbat这里需要注意的是,由于名字冲突,不能直接输入bat三个字母直接运行bat命令在Ubuntu下,但需要敲batcat。为了方便,我们可以设置一个别名:$alias"bat=batcat"二、bat命令的使用1、bat命令的基本用法和cat差不多,我们直接看上图对比一下。可以看到,bat命令除了输出和cat一样的文本内容外,还输出了行号、文件名、表格框等元素,看来信息量会更多一些。如果行数较多,也可以使用--line-range来显示指定行数的内容。而且,它还可以通过管道与其他命令结合使用:2.语法高亮bat为大多数编程语言和标记语言提供了语法高亮,使阅读更轻松,可读性更强。而且,你还可以通过--list-languages参数显示所有支持的语言:3.Git集成bat可以从git获取文件变化并显示在侧边栏中(见下图):4.显示non-printablecharacterswith有时文本中会有一些不可显示的字符,如果使用cat命令查看,是看不到这些字符的。但是如果使用bat命令,这些字符就无处遁形了。这里需要加上-A/--show-all参数。5.自动翻页功能这应该是直戳cat命令痛点的一个功能。因为cat命令不管文本长短都会一次性全部显示给你,所以当我们需要查看内容很多的文本文件时,就必须选择其他命令(比如more、less等)。bat命令显然就是针对这个痛点。当文本内容超出一屏可以显示的范围时,会发送给less命令,然后我们就可以像使用less一样进行翻页操作,非常方便。当然,如果不想使用翻页功能,也可以使用--paging=never参数关闭该功能。但我想没有人会这样做。3、主题定制bat命令支持多种风格的语法高亮主题,可以满足大部分程序员的需求。可以使用以下命令查看bat支持的所有主题:$bat--list-themes如果要指定主题为GitHub,可以使用以下命令:$bat--theme=GitHubfilename但这是临时的,当你关闭终端工具,或者重启系统时,主题会恢复到默认。可以通过设置BAT_THEME环境变量来选择主题。将exportBAT_THEME="GitHub"添加到shell的启动脚本中以永久生效。此外,你还可以自定义输出风格,甚至可以自己添加新的语言和语法,输出满足你的高亮风格。但是我觉得系统自带的样式其实已经可以满足我们大部分的需求了,没必要花时间在上面。4.总结bat命令真的很强大,是cat命令的完美替代品!尤其是它的语法高亮和自动翻页功能,简直就是cat的精准狙击手。如果您经常查看文本,请使用bat而不是cat,相信我,一旦完成,您将永远不会回头!
