Linux文本新宠:别再用cat,转投bat的怀抱吧!

在 Linux 操作系统中,有许多强大的命令行工具,它们为用户提供了广泛的功能和灵活性。其中之一就是 bat 命令,这是一个用于查看文件内容的工具,被许多用户认为是 cat 命令的增强版本。本文将深入探讨 bat 命令的详细使用方法和功能。

linux-bat.jpg

什么是 bat ?

bat 实际上是 cat 命令的一个增强版本,它具有语法高亮、行号显示、Git 集成等功能,使得在终端中查看代码或文本文件更加友好和方便。bat 使用 Rust 编写。其在github上已有45k star 。

github地址:https://github.com/sharkdp/bat

_20240204101330.jpg

安装 bat

在许多 Linux 发行版中,bat 可以通过包管理器直接安装。bat从20.04开始在Ubuntu上提供("Focal"),从2021年8月开始在Debian上提供(Debian 11-"Bullseye")。例如,在 Ubuntu 上,可以使用以下命令进行安装:

复制代码
sudo apt install bat

重要提示: 如果以这种方式安装bat,请注意,可执行文件可能会安装为batcat ,而不是bat(由于名称与另一个软件包冲突)。这种情况我们使用的命令是batcat。

我的服务器使用的是ubuntu22.04,使用的是这种安装方式。

如果你使用的是其他发行版,可以查看其官方文档或使用相应的包管理器进行安装。

_20240204140737.png

用法

batcat 最引人注目的特性之一就是其强大的语法高亮功能。无论是查看代码还是其他文本文件,batcat 都能够根据文件的类型自动应用适当的语法高亮。这样,代码结构将更加清晰,易于阅读和理解。在默认情况下,batcat 会显示文件中每一行的行号。这对于快速定位和引用文件中的特定行非常有帮助。

基本用法

使用 batcat 的基本语法类似于 cat 命令。例如,要查看一个文件的内容,可以执行以下命令:

复制代码
batcat filename

_20240204223804.jpg

多文件浏览

csharp 复制代码
 batcat package.json  yarn.lock

_20240204230139.jpg

分页浏览

batcat 允许用户按页查看文件,这对于长文本文件特别有用。可以使用空格键或者PGUP\PGDN进行翻页,按 q 键退出查看。

JSON格式美化

go 复制代码
batcat package.json

_20240204225154.jpg

远程内容格式化

arduino 复制代码
curl -s  http://blog.xiuji.mynatapp.cc/interview/index.html | batcat

_20240204225929.jpg

Git 集成

batcat 还支持 Git 集成,能够显示文件的 Git 信息,比如文件是否被修改过等。这对于查看版本控制下的文件非常有用。

复制代码
batcat -d README.md

_20240204230655.jpg

总结

总的来说,bat 是一个功能强大且易于使用的命令行工具,为 Linux 用户提供了更好的文件查看体验。其语法高亮、行号显示和 Git 集成等特性使得在终端中查看代码和文本文件变得更加舒适和高效。通过学习和掌握 bat,你将能够更加愉快地处理各种文本文件,提高工作效率。

相关推荐
狙个栗子24 分钟前
Centos 7.9安装部署cobbler-自动化部署服务器完整教程
linux·运维·服务器·centos·自动化
野原鑫之祝36 分钟前
嵌入式开发学习———Linux环境下数据结构学习(五)
linux·c语言·数据结构·学习·vim·排序算法·嵌入式
ajassi20001 小时前
开源 Arkts 鸿蒙应用 开发(十三)音频--MP3播放
linux·华为·开源·harmonyos
刘_小_二1 小时前
Linux 中CentOS Stream 8 - yum -y update 异常报错问题
linux
字节高级特工1 小时前
【探索进程信号】:信号捕捉
linux·运维·服务器
shylyly_2 小时前
Linux->动静态库
linux·运维·服务器·gcc·动静态库·编址·打包库
lsnm2 小时前
【LINUX网络】使用TCP简易通信
linux·服务器·c语言·网络·c++·tcpdump
Gss7772 小时前
一文理清 Linux 软件管理核心知识:从程序组成到包管理工具
linux·运维·服务器
渡我白衣3 小时前
Linux网络编程:网络基础概念(下)
linux·网络
路溪非溪5 小时前
Linux定时器和时间管理源码相关总结
linux