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

相关推荐
ElfBoard1 小时前
飞凌精灵(ElfBoard)技术贴|如何在RK3506开发板上实现UART功能复用
大数据·linux·人工智能·驱动开发·单片机·嵌入式硬件·物联网
HackTorjan1 小时前
AI驱动的制品库高效管理:智能分类、自动化追踪与全生命周期优化
linux·人工智能·分类·自动化
.千余1 小时前
【Linux】进程概念
linux·服务器·开发语言·学习
蜡台1 小时前
centos 8 安装 nginx-1.29.8 及相关配置教程
linux·nginx·centos
爱学习的小囧1 小时前
ESXi性能历史怎么监控?2种方法,图形化+命令行全覆盖
java·linux·运维·服务器·网络·esxi·esxi8.0
sagima_sdu2 小时前
Codex 使用指南(技术向):App、CLI 与工作流接入
linux·运维·语言模型·json
圆山猫2 小时前
[Linux] 用 Buildroot 为 RISC-V QEMU 构建最小根文件系统
linux·运维·risc-v
小草儿7992 小时前
gbase8s之onatpe备份与恢复性能测试
linux·服务器·网络
不做无法实现的梦~2 小时前
Linux 嵌入式开发完整入门:工具、配置和学习路线
linux·运维·学习
摘星台2 小时前
linux环境对stm32单片机进行程序烧录
linux·stm32·单片机