Linux ccat
cat 命令是一个 Unix 或类 Unix 下文本的查看命令,同时也可以配合重定向实现合并与复制功能。它是 GNU Linux 和类 Linux 操作系统中最常用的命令之一,使用频率非常高。
但是对于编程人员来讲的话,cat 命令有个问题,就是它的输出不带有任何颜色标记。如果用 cat 命令去查看代码文件的话,关键字没有颜色标记真的非常不方便阅读。
为了解决这一个痛点,有大佬就开发出了 ccat 这个命令。ccatcat 非常相似,但是使用ccat命令,显示的代码内容会带有颜色,阅读起来非常舒服。目前,ccat 支持 JavaScript,Java,Ruby,Python,Go,C 和 JSON 语言。

1、安装ccat

1)ccat 命令在 AUR 里直接可用,所以如果系统里有 AUR 助手的话,可以直接安装。比如 Arch 系统,直接使用 yay 命令就可以安装。

Arch 用户软件仓库 通常称为 AUR,AUR 助手是一个包装程序,允许用户从 AUR 存储库安装软件包,而无需手动干预。

  1. $ yay -S ccat

2)在其他 Linux 发行版中,需要编译并安装ccat,步骤如下所示:

  • 使用如下命令下载源码归档压缩包

    1. $ wget https://github.com/jingweno/ccat/releases/download/v1.1.0/linux-amd64-1.1.0.tar.gz
  • 解压缩下载的归档文件

    1. $ tar xfz linux-amd64-1.1.0.tar.gz
  • 将ccat可执行文件复制到系统 $PATH 中(例如,/usr/local/bin/)

    1. $ sudo cp linux-amd64-1.1.0/ccat /usr/local/bin/
  • 最后,使用 chmod 为 ccat 命令添加可执行权限

    1. $ sudo chmod +x /usr/local/bin/ccat

    2、ccat的对比及使用

    ccat 使用方法和 cat 命令非常相似,先用 cat 命令查看文本文件,例如 hello.c 。

    1. $ cat hello.c

    效果如下图
    ccat-[替代cat]文件查看带样式输出-待优化 - 图1
    cat
    可以看出来代码没有任何颜色标记。现在,再使用 ccat 查看文本文件 hello.c ,并查看其如何显示输出。

    1. $ ccat hello.c

    效果如下图:
    ccat-[替代cat]文件查看带样式输出-待优化 - 图2
    ccat
    ccat 使用语法高亮显示输出,而 cat 命令仅以系统的默认主题颜色显示输出。
    还可以一次显示多个文件的输出,如下所示。

    1. $ ccat test.txt example.txt

    以HTML格式显示输出。为此,只需在末尾添加“ –html”选项。

    1. $ ccat test.txt --html

    不仅是本地文件,还可以像下面这样直接在网络上显示文件的内容。

    1. $ curl https://raw.githubusercontent.com/jingweno/ccat/master/main.go | ccat

    要查看默认的代码颜色,运行如下命令。

    1. $ ccat --palette

    可以设置自己的颜色代码。

    1. $ ccat -G String="_fuchsia_" -G Plaintext="darkteal" hello.c

    ps:在下载步骤中可能会遇到如下错误
    ccat-[替代cat]文件查看带样式输出-待优化 - 图3ccat_error
    这是由于 github 升级了 openssl,停用了 tlsv1.1,只需要更新本机的 openssl 以及 git 工具即可解决该问题。

    3. 替换系统中的cat

    如果喜欢 ccat 并想用 ccat 替换默认的 cat 命令,则只需创建一个别名即可。
    如果是从 Arch Linux 中的 AUR 安装的,请在 ~/.bashrc 文件中添加以下行。

    1. alias cat=ccat

    如果是从编译的二进制文件安装的,则在 ~/.bashrc 文件中添加以下行。

    1. alias cat=/usr/local/bin/ccat

    最后,运行以下命令以使更改生效。

    1. $ source ~/.bashrc

    要在整个系统范围内添加它(所有用户都可以使用这个命令),请在 /etc/bashrc (在基于RPM的系统上)或 /etc/profile(在Debian的系统上)文件中添加以上条目。