Linux 中的 bat 命令——替代 cat 命令

在 linux 中,你必须熟悉 cat 命令。 它通常用于打印和连接文件。 Bat 命令是 cat 命令的克隆,具有许多吸引人且有用的功能。 其中一些功能是语法高亮、自动分页、git 集成等,也增强了程序员的体验。

下面指出了 bat 命令的一些特性。

  • Git 集成: bat 与 git 通信以显示修改。
  • 语法高亮: bat 支持大量编程和标记语言的语法高亮显示。
  • 自动分页: 如果输出对于一个屏幕来说太大,bat 能够将自己的输出通过管道传输到 less。
  • 命令行界面非常人性化。

在本文中,我们将安装并展示 bat 命令的用途和功能。 在这里,我们将把它安装在 Ubuntu 20.04 LTS 服务器上。

在 Ubuntu 上安装 bat 命令

可以使用以下命令从包管理器安装 Bat 包。

$ sudo apt install bat

但它可以安装任何版本的 bat 包,所以为了确保 bat 包是最新的,我们从 Github 发布页面下载它。 您可以简单地搜索页面或运行以下命令,如下所示。

$ wget https://github.com/sharkdp/bat/releases/download/v0.18.3/bat-musl_0.18.3_amd64.deb

$ sudo dpkg -i bat-musl_0.18.3_amd64.deb

Linux上bat命令的用例

随着bat包的安装完成,我们可以简单的用bat命令来使用它。 一些示例如下所示。

显示单个文件的内容

$ bat filename

例子:

$ bat test.txt

输出:

一次显示多个文件的内容

$ bat <file1> <file2>

例子:

$ bat /etc/hosts test.txt

输出:

显示所有支持的语言

$ bat --list-languages

将不同文件的内容附加到单个文件上

$ bat file1 file2 > singlefile

例子:

$ bat test.txt app.txt > document.txt

输出:

创建新文件

$ bat > filename

例子:

$ bat > hello.txt

使用“-line-range”开关打印特定范围的行

$ bat --line-range range_from:range_to filename

例子:

$ bat --line-range 2:4 /etc/hosts

输出:

使用“-n”标志检查行号

$ bat -n filename

例子

$ bat -n zigzag.py

输出:

为语法高亮设置语言

$ bat filename

例子:

$ bat zigzag.py

输出:

检查 bat 命令主题的语法突出显示

$ bat --list-themes

输出:

更改 bat 命令主题以进行语法高亮

$ bat --theme=ansi filename

例子:

$ bat --theme=ansi zigzag.py

输出:

要使主题的这些更改永久化,请在 ~/.bashrc 上为用户特定或 /etc/ 写入“export BAT_THEME=”ansi”bash.bashrc 用于系统范围。

结论

Bat 是 cat 命令的克隆,具有许多功能,如上述示例所示。 您也可以根据自己的喜好尝试使用其他主题。 使用“man bat”探索 bat 命令以获取更多详细信息。谢谢!