小知识:Linux系统中比Cat更好用的命令!

作为程序员,大家一定对 cat 这个命令不陌生。它主要的功能就是用来显示文本文件的具体内容。

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

不能语法高亮输出; 文本太长的话无法翻页输出。

正是这两个不足,使得 cat 只能用来查看行数不多的小文件。

为了解决 cat 命令这两个缺点,国外有大牛将 cat 命令进行了增强,强大到连 cat 亲妈都不认识!

%小知识:Linux系统中比Cat更好用的命令!-猿站网-插图

它就是本文的主角:bat 命令。

bat 命令可以用来做啥呢?简单来说有下面这些:

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

bat 的这些特性,真的是分分钟让 cat 打下神坛!(怪不得人家是以 b 开头的,牛 B 的 B !)

一、bat命令的安装

现在很多 Linux 发行版的官方源已经内置了这个命令,所以只需使用它们对应的安装工具就可以安装。

以 Ubuntu 为例,只需要运行以下命令就可以安装 bat :

$ sudo aptget install bat

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

$ alias “bat=batcat”

二、bat命令的使用

1. 基本使用

bat 命令的用法跟 cat 大差不差的,我们直接上图来看下对比。

%小知识:Linux系统中比Cat更好用的命令!-1猿站网-插图

可以看到,bat 命令除了输出与 cat 一样的文本内容之外,还输出了包括行数、文件名、表格外框等元素,看起来信息会更多。

如果行数比较多,还可以使用 –line-range 来显示指定行数的内容。

%小知识:Linux系统中比Cat更好用的命令!-2猿站网-插图

而且,它还可以跟其它命令通过管道一起结合着用:

%小知识:Linux系统中比Cat更好用的命令!-3猿站网-插图

2. 语法高亮

bat 对大部分编程语言和标记语言提供语法高亮,这样阅读起来就更方便了,可读性更强。

%小知识:Linux系统中比Cat更好用的命令!-4猿站网-插图

而且,你还可以通过使用 –list-languages 参数来显示所有支持的语言:

%小知识:Linux系统中比Cat更好用的命令!-5猿站网-插图

3. Git 集成

bat 能从 git 中获取文件的修改并展示在边栏(见下图):

%小知识:Linux系统中比Cat更好用的命令!-6猿站网-插图

4. 显示不可打印字符

有时候文本里有一些不可显示的字符,如果使用 cat 命令查看的话,将看不到这些字符。但如果使用 bat 命令,这些字符就无处遁形。这里需要加上 -A/–show-all 参数。

%小知识:Linux系统中比Cat更好用的命令!-7猿站网-插图

5. 自动翻页功能

这应该是直戳 cat 命令痛点的功能。

由于 cat 命令不管文本长度如何,全部一股脑就给你显示出来,使得我们需要查看内容比较多的文本文件的时候,必须选择其它命令(比如 more 、less 等等)。

bat 命令很明显是冲着这个痛点来的。它在文本内容超过一屏可显示范围时,就会将其发送到 less 命令,然后我们就可以像使用 less 一样进行翻页操作,非常方便。

%小知识:Linux系统中比Cat更好用的命令!-8猿站网-插图

当然,如果你想不使用翻页功能的话,也可以使用 –paging=never 参数来关闭这个功能。但我估计没人这么做。

三、主题定制

bat 命令支持多种风格的语法高亮主题,可以满足大部分程序员的需求。可以使用下列命令查看 bat 支持的所有主题:

$ bat listthemes

%小知识:Linux系统中比Cat更好用的命令!-9猿站网-插图

如果你想指定主题为 GitHub ,那么可以使用以下命令:

$ bat theme=GitHub 文件名

但这样做是临时的,当你关闭终端工具,或者系统重启,主题就会恢复默认。

可以通过设置 BAT_THEME 环境变量来选定主题。把 export BAT_THEME=”GitHub” 添加到 shell 的启动脚本来取得永久效果。

除此之外,你还可以自定义输出样式,甚至可以自己添加新的语言和语法,输出让自己满意的高亮样式。但我觉得系统自带的那些样式其实已经可以满足我们大部分需求了,没必要把时间花在这上面。

四、小结

bat 命令真的十分强大,简直是 cat 命令的完美代替品!特别是它的语法高亮、自动翻页功能,简直是对 cat 的精准狙杀。

如果你经常查看文本,那么可以使用 bat 来替代 cat ,相信我,用完之后你就再也回不来了!

原文地址:https://mp.weixin.qq.com/s?__biz=MzU3NTgyODQ1Nw==&mid=2247523332&idx=1&sn=cbf5ae8a7a8b2b8960644fc9cd9b976c&chksm=fd1fe482ca686d941da2ee9e1f29d2905f6a642b092ab1ec63448980b78c92c5b8170f786f97&mpshare=1&scene=23&srcid=0420xnaHNebhSKUHF4W8hAFl&sharer_sharetime=1650428093612&sharer_shareid=c01707d0f17ed01b69a77c2668e647eb#rd

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Nginx如何配置负载均衡

2023-3-25 4:30:42

建站知识

小知识:让我一起浅析Nginx 架构

2023-3-25 4:39:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索