大家好,我是良許。

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

效果如下圖

cat

可以看出來代碼沒有任何顏色標記(大家應該對這個結果很熟悉)。現在,再使用 ccat 查看文本文件 hello.c ,並查看其如何顯示輸出。

$ cat hello.c 

效果如下圖:

ccat

您注意到差異了嗎?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:在下載步驟中可能會遇到如下錯誤

ccat_error

這是由於 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」。良許,世界500強外企Linux開發工程師,公衆號裏分享大量Linux乾貨,歡迎關注!

相關文章