比 cat 更好用的命令了解一下?

2018-06-04 08:46:49 +08:00
 AaronWxt

作为程序员经常使用命令行来进行一些文件的处理,比如常见的:gitvim ,以及不同语言下的一些命令等。那么这么多的命令中,相信你肯定有用过cat命令用来查看文件的内容,但是这个命令仅仅只能将文本展示出来,并不会很好的辅助我们阅读和理解里面的内容,尤其是文件中内容为 代码时,看起来就特别的痛苦了。那么这篇文章就要介绍更好命令来替代 cat命令,它就是bat命令。(不是 windows 中的那个脚本哟)

bat 介绍

bat 是一个语法高亮显示和Git集成的cat高级版本,也就是说,batcat的所有功能,且已经集成了代码高亮,和git版本管理的工具,并且会对过长的文件进行自动分页,不会像 cat 一样全部一次打印,先来看张效果图:

bat 安装

安装的方法也是超级的简单,具体安装如下:

git clone https://aur.archlinux.org/bat.git
cd bat
makepkg -si
brew install bat

安装完成后,输入bat -help 看下是否会出现相关的提示信息,来确认是否安装成功。

bat 使用

使用与 cat 类似,在 bat 后面紧跟文件 就行了, 也可以同时打开过个,但结果是以一个接一个展示出来。

如打开一个有 git 管理的文件,会展示出文件中添加与删除的部分,如下图所示:

如果需要制定文件中高亮的语言,可以使用 -l 参数来制定语言,例如: bat ./test.json -l json 则指定文件中高亮为 json 模式,当然不指定也没有问题,默认会自动识别。 总之使用还是比较简单,一点都不复杂。

总结

如果有了这个命令,我想一般都不会再用 cat命令了,但每次敲命令都习惯使用 cat 了, 那么建议将 cat 命令使用 alias cat= 'bat' 将其指定为 bat 这样就可以使用cat 命令,而达到 bat 的使用效果。

希望大家能够喜欢这篇文章,喜欢就分享出去吧。 如果你有更好的命令,欢迎留言交流。

欢迎大家关注我的公众号:

7646 次点击
所在节点    程序员
46 条回复
lonccc
2018-06-04 09:11:15 +08:00
待会试试
fan123199
2018-06-04 09:28:24 +08:00
ubuntu 怎么装? 显示 makepkg not found.
widewing
2018-06-04 09:31:08 +08:00
那干嘛不用 vim 呢。。cat 主要是管道中用吧
xiaket
2018-06-04 09:31:38 +08:00
之前看过,不过这样打印出来的内容不方便复制,所以仍然用 pygmentize 来彩色输出代码.
jasonyang9
2018-06-04 09:32:53 +08:00
这玩意符合 Linux 哲学么?
LeungV2
2018-06-04 09:36:27 +08:00
经常用 cat 弱弱的问一句 我直接在我命令行
git clone https://aur.archlinux.org/bat.git 也行嘛。。
twor2
2018-06-04 09:37:08 +08:00
ccat 了解一下
yanaraika
2018-06-04 09:37:32 +08:00
cat | pygmentize 了解一下
muziki
2018-06-04 09:38:56 +08:00
已经用了很长一段时间了,比 cat 好太多
0x338
2018-06-04 09:41:16 +08:00
@fan123199 那是 Arch Linux 的安装方式
prolic
2018-06-04 09:43:25 +08:00
没有 dog 么?
agagega
2018-06-04 09:47:05 +08:00
@jasonyang9 ripgrep 乃至 git 也不符合吧?时代变了...
ReinWD
2018-06-04 09:48:16 +08:00
第一反应是一个没有窗口的终端 sublime like 阅读工具
在管道,脚本里应该不如 cat 好用
日常使用替换 cat 讲道理是没问题的
muziki
2018-06-04 09:48:58 +08:00
@yanaraika 还是不够看
fan123199
2018-06-04 09:54:52 +08:00
https://github.com/sharkdp/bat 替 lz 补一个原 repo 的链接,有不同发行版的安装方式。
huskar
2018-06-04 09:56:48 +08:00
alias cat= 'bat'???这个工具和 cat 干的完全不是一件事吧,肉眼可读性本来就不是 cat 的目标。
jason2017
2018-06-04 09:56:54 +08:00
现在这些奇奇怪怪的命令,真的就是业余的时候玩玩,或者新学 linux 的会尝试用用。
基本上正常公司企业级开发的,都不会搞这东西,一是不稳定,二是不能保证安全性,三是更变习惯很成本很大。
LeungV2
2018-06-04 09:57:45 +08:00
@fan123199 makepkg not found. 解决了?
UnknownR
2018-06-04 09:58:03 +08:00
dog 了解一下
Love4Taylor
2018-06-04 10:01:10 +08:00
@fan123199 #2 https://github.com/sharkdp/bat... 贴主是把 Linux = Arch 了..

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/460103

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX