Bat——带语法高亮的cat天使

用过Linux的小伙伴们,估计没有不熟悉cat 命令的,它用来便捷的输出文本文件的内容。使用cat命令,可以将文件的内容打印到标准输出,还能支持将多个文件连接显示以及附加到一个文件。虫虫今天给大家介绍一个用Rust(一个新的运行时安全系统编程语言)开发的超酷的cat替代命令Bat,和logo中宣称那样的它不仅仅是对cat的clone,还美化了cat,增加了很多功能,给cat"增加了一个翅膀"。它就是活脱脱一个天使,那么这个天使会带来哪些功能呢,请听小编给你慢慢道来。

Bat——带语法高亮的cat天使_第1张图片

bat增强了显示界面,内置了多重GUI主题风格,支持各种语法高亮,自动分页(less)等。

安装

Bat linux包管理软件安装或者通过cargo源码安装。

在Arch Linux的默认存储库中已经内置了该包。在arch的系统可以使用pacman安装它。

sudo pacman -S bat

在MacOS和Freebsd可以分别用一下命令安装:

brew install bat

pkg install bat

对于Debian系,Ubuntu,Linux Mint系统上,从github Releases页面下载最新的bat_0.6.0_amd64.deb文件,然后用一下方法安装:

sudo dpkg -i bat_0.6.0_amd64.deb

对于其他系统,需要从源代码编译和安装。确保已安装Rust语言 1.26或更高版本。

比如cetos 7, 先安装rust和cargo:

yum install rust cargo

然后

cargo install bat

Bat——带语法高亮的cat天使_第2张图片

看到有一行黄字提醒,bat默认是安装在~/.cargo/bin下的,要直接bat运行我们可以在/bin对其做个软连接:

ln -s /root/.cargo/bin/bat /bin/bat

最后也你也可以用Linuxbrew包管理器安装它。

brew install bat

Bat命令用法

Bat命令的用法与cat命令类似:

要使用bat命令创建新文件,请执行以下操作:

bat> file.txt

注意,上面的命令是从当前标准输入获取信息到file.txt文件,ctrl+c后就会生成文件,在ctrl+c你在可以输入一些内容,这些内容就是file.txt中生成的内容,如果不ctrl+c 就会卡在标准输入,不要傻等哦:

Bat——带语法高亮的cat天使_第3张图片

要使用bat命令查看文件的内容,只需执行以下操作:

bat file.txt

可以一次查看多个文件:

bat file1.txt file2.txt

支持用通配符?,*打开多个文件,比如打开目录下php文件

Bat——带语法高亮的cat天使_第4张图片

bat *.php

要将多个文件的内容附加到一个文件:

bat file1.txt file2.txt file3.txt> document.txt

除了查看和编辑文件之外,Bat命令还有一些额外的酷功能。bat命令支持大量编程和标记语言的语法高亮显示(bat --list)。例如下面示例,使用cat和bat命令显示login-out.php文件的内容。

Bat——带语法高亮的cat天使_第5张图片

你注意到了区别吗? Cat命令以纯文本格式显示文件的内容,而bat命令以整齐的表格列格式显示,语法高亮显示的输出,还附带显示行号,显示人性化多了。

如果只想显示行号(不是表格列),可以使用-n标志。

bat -n login-out.php

Bat——带语法高亮的cat天使_第6张图片

自动分页(less)

Bat命令的另一个值得注意的特性是它支持自动分页。如果文件的输出超过一个屏幕,bat命令会自动将其自己的输出管道输出到less命令,因此可以逐页查看输出。

作为对比cat命令查看跨多个页面的文件的内容时,提示会快速跳转到文件的最后一页,而会跳过开头或中间的内容。

Bat——带语法高亮的cat天使_第7张图片

如上图所示,cat命令显示文件的最后一页。

因此,你可能需要将cat命令的输出传递给less命令,以便从头开始逐页查看其内容。

cat pureftpd_vhost.sh |less

现在,可以通过按ENTER键逐页查看输出。但是,如果使用bat命令则没有必要。 bat命令将自动管道跨越多个页面的文件的输出。

cat pureftpd_vhost.sh

输出如下

Bat——带语法高亮的cat天使_第8张图片

注意在这方面bat和less也是有区别的,bat是把显示输出显示到标准输出的,而less是新开一个窗口(和vim一样),按q退出后,less显示就没了,而bat还在,这样你退出后还是可以copy内容的。

和GIT集成

bat命令还支持GIT集成,我们可以轻松查看/编辑Git存储库中的文件。它与git通信以显示关于索引的修改(参见左侧栏)。

Bat——带语法高亮的cat天使_第9张图片

bat个性化设置

如果不喜欢默认主题,也可以更改它。bat内置多种主题可供选择。使用bat --list-themes可以列出所有可用的主题。

Bat——带语法高亮的cat天使_第10张图片

要使用设置其他主题,例如TwoDark,请运行:

$ bat --theme = TwoDark file.txt

如果要使主题成为默认主题,需要在shell启动文件中用export BAT_THEME ="TwoDark"来设定。

Bat还可以选择控制输出的外观。通过使用-style选项。比如要仅显示Git更改和行号但没有网格和文件头,请使用--style = numbers,changes。

功能对比

下面图列出了,同类软件的功能对比图,以此可以作为你选择bat的理由。

Bat——带语法高亮的cat天使_第11张图片

其他更多可以关注官方信息(github:/sharkdp/bat),或者关注虫虫,给虫虫留言了解。

你可能感兴趣的:(Bat——带语法高亮的cat天使)