10 款 Linux 环境下的开源替代工具

在 Linux 操作系统下,我们经常使用 cat 命令去连接多个文件并打印到标准输出,合成几个文件为一个目标文件,追加几个文件到目标文件中。

最近我在 GitHub 上发现了一个具有相似作用的命令叫做 “Bat”,它是 cat 命令的替代品,具有一些例如语法高亮、 Git 集成和自动分页等非常酷的特性。

在这篇文章中,就来给大家介绍下如何在 Linux 中安装和使用 bat 命令。

01 bat

安装 bat

Arch Linux

bat 可以在 Arch Linux 操作系统的默认软件源中进行获取,可直接使用 pacman 命令在任何基于 Arch 的系统上来安装它。

pacman -S bat
Fedora
dnf install bat
macOS
brew install bat
Ubuntu 21.10

我是通过 Ubuntu 环境下安装的 bat,从 bat 的发布页面下载.deb文件,可执行如下命令进行下载和安装。

sudo apt-get install wget
wget https://github.com/sharkdp/bat/releases/tag/v0.18.3/bat_0.18.3_amd64.deb
sudo dpkg -i bat_0.18.3_amd64.deb

对于其他系统,也许需要从软件源编译并安装,或参考 GitHub 上 bat 的其他操作系统安装方式。

bat 命令的使用

bat 命令的使用与 cat 命令的使用非常相似。

使用 bat 命令创建一个新文件:

bat > jiaoben1.sh

使用 bat 命令查看文件内容:

bat jiaoben1.sh

使用 bat 命令同时查看多个文件:

bat jiaoben1.sh jiaoben2.sh

使用 bat 命令将多个文件的内容合并到一个单独的文件中:

bat jiaoben1.sh jiaoben2.sh > test.txt

上述介绍了 bat 创建新文件、查看文件内容、将多个文件的内容合并到一个单独的文件中的方式。

接下来,我们就来看一下 bat 命令一些非常酷的特性。

bat 命令支持大多数编程和标记语言的语法高亮,那么我们就来使用 cat 和 bat 命令展示下 jiaoben1.sh 里面的内容做个鲜明的对比。

可以看出,cat 命令以纯文本格式显示文件的内容,而 bat 命令显示了语法高亮和整齐的文本对齐格式。

从上面 bat 命令的输出,可以看出是有表格线的,如果你只想显示行号(而没有表格)可以使用-n参数来实现,虽然 cat 执行也会显示行号,但还是没有 bat 执行输出后的效果美观。

bat -n jiaoben2.sh

bat 命令支持 Git 集成,可以轻松查看和编辑 Git 存储库中的文件,bat 与 Git 连接可显示关于索引的修改。

bat 支持自动分页,这点特性也是需要值得注意的。

支持分页意思也就是说,当文件的输出内容超出屏幕显示的时候,bat 命令会自动将自己输出的内容传到 less 命令中,你将可以使用回车键一页一页的查看输出内容,使用空格键可直接跳转至文末最后一行。

当你使用 bat 命令时这些都是不必要的,bat 命令将自动传输跨越多个页面的文件的输出。

bat jiaoben3.sh

对比下 cat 命令,查看 jiaoben3.sh 跨多个页面文件内容时,提示符会直接跳到文件的最后一页,将无法看到跨多个页面文件开头及中间部分的内容。

cat jiaoben3.sh

如果你想要通过 cat 来实现 bat 命令的效果,则需要去使用 cat 的输出传输到 less 命令中去,这样就可以从开头部分一页一页的查看内容了。

cat jiaoben3.sh | less

同样,这种方式也是可以使用回车键一页一页的查看输出内容以及使用空格键可直接跳转至文末最后一行。

bat 定制主题

目前 bat 定制主题有 24 种,包括:Coldark-Cold、GitHub、Monokai Extended Light、OneHalfDark、Solarized (light)、TwoDark、Visual Studio Dark+、base16、zenburn 等;

如果你不喜欢默认主题,也是可以根据自己的风格进行修改,只需执行:bat --list-themes 命令,即可显示可用的主题。

# bat --list-themes
Theme: 1337

  // Output the s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值