致谢
编译自|
作者|Sk
译者| 共计翻译:1.0篇 贡献时间:13 天
在类 UNIX 系统中,我们使用cat命令去打印和连接文件。使用cat命令,我们能将文件目录打印到到标准输出,合成几个文件为一个目标文件,还有追加几个文件到目标文件中。今天,我偶然发现一个具有相似作用的命令叫做 “Bat” ,它是cat命令的一个克隆版,具有一些例如语法高亮、 Git 集成和自动分页等非常酷的特性。在这个简略指南中,我们将讲述如何在 Linux 中安装和使用bat命令。
安装
Bat 可以在 Arch Linux 的默认软件源中获取。 所以你可以使用命令在任何基于 arch 的系统上来安装它。
$ sudo pacman -S bat
在 、、Linux Mint 等系统中bat语法,从其发布页面[1]下载.deb文件bat语法,然后用下面的命令来安装。
$ sudo apt install gdebi
$ sudo gdebi bat_0.5.0_amd64.deb
对于其他系统,你也许需要从软件源编译并安装。确保你已经安装了 Rust 1.26 或者更高版本。
然后运行以下命令来安装 Bat:
$ cargo install bat
或者,你可以从[2]软件包管理中来安装它。
$ brew install bat
bat 命令的使用
bat命令的使用与cat命令的使用非常相似。
使用bat命令创建一个新的文件:
$ bat > file.txt
使用bat命令来查看文件内容,只需要:
$ bat file.txt
你能同时查看多个文件:
$ bat file1.txt file2.txt
将多个文件的内容合并至一个单独文件中:
$ bat file1.txt file2.txt file3.txt > document.txt
就像我之前提到的那样,除了浏览和编辑文件以外,bat命令有一些非常酷的特性。
bat命令支持大多数编程和标记语言的语法高亮 。比如,下面这个例子。我将使用cat和bat命令来展示.py的内容。
你注意到区别了吗?cat命令以纯文本格式显示文件的内容,而bat命令显示了语法高亮和整齐的文本对齐格式。更好了不是吗?
如果你只想显示行号(而没有表格)使用-n标记。
$ bat -n reverse.py
另一个bat命令中值得注意的特性是它支持自动分页 。 它的意思是当文件的输出对于屏幕来说太大的时候,bat命令自动将自己的输出内容传输到less命令中,所以你可以一页一页的查看输出内容。
让我给你看一个例子,使用cat命令查看跨多个页面的文件的内容时,提示符会快速跳至文件的最后一页,你看不到内容的开头和中间部分。
看一下下面的输出:
正如你所看到的,cat命令显示了文章的最后一页。
所以你也许需要去将使用cat命令的输出传输到less命令中去从开头一页一页的查看内容。
$ cat reverse.py | less
现在你可以使用回车键去一页一页的查看输出。然而当你使用bat命令时这些都是不必要的。bat命令将自动传输跨越多个页面的文件的输出。
$ bat reverse.py