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

相关推荐
阿巴~阿巴~3 小时前
Linux同步机制:POSIX 信号量 与 SystemV信号量 的 对比
linux·服务器·线程·信号量·线程同步·posix·system v
fyakm3 小时前
Linux文件搜索:grep、find命令实战应用(附案例)
linux·运维·服务器
巴渝小禹4 小时前
【Ubuntu】虚拟机 Ubuntu 挂载 宿主机 Windows文件夹
linux·ubuntu
洛克大航海6 小时前
解锁 PySpark SQL 的强大功能:有关 App Store 数据的端到端教程
linux·数据库·sql·pyspark sql
大海绵啤酒肚7 小时前
OpenStack虚拟化平台之T版搭建部署
linux·运维·云计算·openstack
gtr20208 小时前
Ubuntu24.04 最小化发布 需要删除的内容
linux
jiayi_19999 小时前
Linux 容器安装 conda 和 pip
linux·conda·pip
一周困⁸天.9 小时前
Redis 主从复制
linux·redis
ayaya_mana9 小时前
CentOS 7/8/9 一键安装 Python 3.10+ 并配置默认版本
linux·python·centos
The Chosen One9859 小时前
【Linux】Linux权限讲解 :写给文件的一封情书
linux·运维·服务器