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,你将能够更加愉快地处理各种文本文件,提高工作效率。

相关推荐
摇滚侠几秒前
VMvare 安装 Linux CentOS 7
linux·运维·centos
CingSyuan5 分钟前
服务器现场排障:在 Windows 下使用 Linux reader 直接查看 Linux 系统 U 盘中的日志文件与文件结构
linux·运维·服务器·网络·windows
炘爚15 分钟前
Linux——MySQL
linux·mysql
艾莉丝努力练剑17 分钟前
【Linux网络】多路转接select
java·linux·运维·服务器·网络·tcp/ip
Cx330❀19 分钟前
【Linux网络】从零定制应用层协议:黏包问题、全双工缓冲区与 Jsoncpp 序列化深度解析
linux·运维·服务器·开发语言·网络·c++·人工智能
Benszen21 分钟前
云计算基础-5:Linux 重定向与管道
linux·运维·服务器
__Witheart__21 分钟前
RK 3588 Ubuntu SDK 编译 Linux Header(标头)
linux·ubuntu·rockchip
艾莉丝努力练剑29 分钟前
【Linux网络】五种IO模型与非阻塞IO
linux·运维·服务器·开发语言·网络·tcp/ip
lihao lihao33 分钟前
Linux线程同步与互斥
linux·数据结构·算法
能喵烧香10 小时前
深度解析:Linux 与 Windows 超级权限账户的本质差异
linux·windows