1. 程式人生 > >Linux下一隻五顏六色的「貓」

Linux下一隻五顏六色的「貓」

大家好,我是良許。 有使用過 Linux 系統的小夥伴,肯定會使用過 `cat` 這個命令。當然,在 Linux 下,此貓非彼貓,這裡的 cat 並不代表貓,而是單詞 **c**oncaten**at**e 的縮寫。 `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](https://p.pstatp.com/origin/ff2900027c32b158cac5 "cat") 可以看出來程式碼沒有任何顏色標記(大家應該對這個結果很熟悉)。現在,再使用 ccat 檢視文字檔案 hello.c ,並檢視其如何顯示輸出。 ``` $ ccat hello.c ``` 效果如下圖: ![ccat](https://p.pstatp.com/origin/fe84000285948ee5d839 "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](https://p.pstatp.com/origin/ffa50002338e2b711487 "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 ### 有收穫?希望老鐵們來個三連擊,給更多的人看到這