您的位置:首页 > 运维架构 > Linux

Linux下一只五颜六色的「猫」

2020-07-15 20:05 609 查看

大家好,我是良许。

有使用过 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

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: