Linux下一只五颜六色的「猫」
大家好,我是良许。
有使用过 Linux 系统的小伙伴,肯定会使用过
cat这个命令。当然,在 Linux 下,此猫非彼猫,这里的 cat 并不代表猫,而是单词 concatenate 的缩写。
cat命令是一个 Unix 或类 Unix 下文本的查看命令,同时也可以配合重定向实现合并与复制功能。它是 GNU Linux 和类 Linux 操作系统中最常用的命令之一,使用频率非常高。
但是对于编程人员来讲的话,cat 命令有个问题,就是它的输出不带有任何颜色标记。如果我们用 cat 命令去查看代码文件的话,关键字没有颜色标记真的非常不方便阅读。
为了解决这一个痛点,有大佬就开发出了
ccat这个命令。
ccat与
cat非常相似,但是使用ccat命令,显示的代码内容会带有颜色,这对于码农来讲非常友好。目前,
ccat支持 JavaScript,Java,Ruby,Python,Go,C 和 JSON 语言。
下面良许就给大家详细介绍 ccat 的用法。
1. 安装Ccat
1)
ccat命令在 AUR 里直接可用,所以如果你的系统里有 AUR 助手的话,可以直接安装。比如 Arch 系统,直接使用
yay命令就可以安装。
Arch 用户软件仓库 通常称为 AUR,AUR 助手是一个包装程序,允许用户从 AUR 存储库安装软件包,而无需手动干预。
$ yay -S ccat
2)在其他 Linux 发行版中,你需要编译并安装ccat,步骤如下所示:
- 使用如下命令下载源码归档压缩包
$ wget https://github.com/jingweno/ccat/releases/download/v1.1.0/linux-amd64-1.1.0.tar.gz
- 解压缩下载的归档文件
$ tar xfz linux-amd64-1.1.0.tar.gz
- 将ccat可执行文件复制到系统
$PATH
中(例如,/usr/local/bin/)
$ sudo cp linux-amd64-1.1.0/ccat /usr/local/bin/
- 最后,使用 chmod 为 ccat 命令添加可执行权限
$ sudo chmod +x /usr/local/bin/ccat
2. 如何使用ccat对cat命令进行着色
ccat 使用方法和 cat 命令非常相似,下面给大家举一些列子。
我们先用 cat 命令查看文本文件,例如 hello.c 。
$ cat hello.c
效果如下图
可以看出来代码没有任何颜色标记(大家应该对这个结果很熟悉)。现在,再使用 ccat 查看文本文件 hello.c ,并查看其如何显示输出。
$ ccat hello.c
效果如下图:
您注意到差异了吗?ccat 使用语法高亮显示输出,而 cat 命令仅以系统的默认主题颜色显示输出。
我们还可以一次显示多个文件的输出,如下所示。
$ ccat test.txt example.txt
由于某些原因,您可能希望以HTML格式显示输出。为此,只需在末尾添加“ –html”选项。
$ ccat test.txt --html
不仅是本地文件,我们还可以像下面这样直接在网络上显示文件的内容。
$ curl https://raw.githubusercontent.com/jingweno/ccat/master/main.go | ccat
要查看默认的代码颜色,运行如下命令。
$ ccat --palette
当然,您可以如下设置自己的颜色代码。
$ ccat -G String="_fuchsia_" -G Plaintext="darkteal" hello.c
ps:在下载步骤中可能会遇到如下错误
这是由于 github 升级了 openssl,停用了 tlsv1.1,你只需要更新本机的 openssl 以及 git 工具即可解决该问题。
3. 替换系统中的cat
如果您喜欢 ccat 并想用 ccat 替换默认的 cat 命令,则只需创建一个别名即可。
如果是从 Arch Linux 中的 AUR 安装的,请在
~/.bashrc文件中添加以下行。
alias cat=ccat
如果是从编译的二进制文件安装的,则在
~/.bashrc文件中添加以下行。
alias cat=/usr/local/bin/ccat
最后,运行以下命令以使更改生效。
$ source ~/.bashrc
要在整个系统范围内添加它(所有用户都可以使用这个命令),请在
/etc/bashrc(在基于RPM的系统上)或
/etc/profile(在Debian的系统上)文件中添加以上条目。
公众号:良许Linux
有收获?希望老铁们来个三连击,给更多的人看到这篇文章
- Linux下一只五颜六色的「猫」
- 一只简单的网络爬虫(基于linux C/C++)————线程相关
- 一只简单的网络爬虫(基于linux C/C++)————利用正则表达式解析页面
- 一只萌新的linux体验13
- 【一只小白的Linux之旅】Ubuntu装好之后应该做些什么?
- Linux 4.0 发布——我是一只羊
- 一只简单的网络爬虫(基于linux C/C++)————浅谈并发(IO复用)模型
- 一只简单的网络爬虫(基于linux C/C++)————Url处理以及使用libevent进行DNS解析
- 一只Linux小白学习的博客帖子
- 一只萌新的linux体验3
- 一只简单的网络爬虫(基于linux C/C++)————主事件流程
- 一只萌新的linux体验4
- 一只简单的网络爬虫(基于linux C/C++)————支持动态模块加载
- 我要写一只蜘蛛:Linux-CentOS7+Python3+JDK8+Tomcat9+Chrome+RIDE+Jenkins
- 一只简单的网络爬虫(基于linux C/C++)————socket相关及HTTP
- Linux 开机logo 居中 多只企鹅改一只
- 一只萌新的linux体验15
- 一只简单的网络爬虫(基于linux C/C++)————配置文件设计及读取
- 一只简单的网络爬虫(基于linux C/C++)————读取命令行参数及日志宏设计
- 一只Linux小白,啊哈哈。。。以后就将自己的学习心得与大家分享啦!希望大家可以指出我的错误与不足之处