大家好,我是良旭。作为一名程序员,你一定对cat命令不陌生。它的主要功能是显示文本文件的具体内容。但是cat命令有两大缺陷:1、不能输出语法高亮;2.文字过长无法翻页输出。正是这两个不足,导致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"2.bat命令的使用2.1基本使用bat命令的用法与cat没有太大区别。我们直接和上图对比一下。可以看到,bat命令除了输出和cat一样的文本内容外,还输出了行号、文件名、表格框等元素,看来信息量会更多一些。如果行数较多,也可以使用--line-range来显示指定行数的内容。而且,它还可以通过管道与其他命令结合使用:2.2语法高亮bat为大多数编程语言和标记语言提供语法高亮,使阅读更方便,可读性更强。而且,还可以使用--list-languages参数来显示所有支持的语言:2.3Git集成bat可以从git获取文件变化并显示在侧边栏中(见下图):2.4显示不可打印的字符而且有时候text里面有一些不可显示的字符,如果用cat命令查看,是看不到这些字符的。但是如果使用bat命令,这些字符就无处遁形了。这里需要加上-A/--show-all参数。2.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,相信我,一旦完成,您将永远不会回头!学习编程时,不要急于求成。一定要多看经典书籍,多看源码,多下功夫破解密码,才能让自己的技能长进。给大家分享几本程序员必读的经典书籍,一定要多看几遍:我会免费送给大家,只求大家给我点个赞!程序员必读经典书单(高清PDF版)有收获?希望老铁三连击,让更多人看到这篇文章。推荐阅读:干货|程序员进阶架构师必备资源免费免刷题|LeetCode算法算法刷机神器,看完BAT随心挑!欢迎关注我的博客:良序Linux教程网,干货满满!
