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


大家好,我是良許。

有使用過 Linux 系統的小伙伴,肯定會使用過 cat 這個命令。當然,在 Linux 下,此貓非彼貓,這里的 cat 並不代表貓,而是單詞 concatenate 的縮寫。

cat 命令是一個 Unix 或類 Unix 下文本的查看命令,同時也可以配合重定向實現合並與復制功能。它是 GNU Linux 和類 Linux 操作系統中最常用的命令之一,使用頻率非常高。

但是對於編程人員來講的話,cat 命令有個問題,就是它的輸出不帶有任何顏色標記。如果我們用 cat 命令去查看代碼文件的話,關鍵字沒有顏色標記真的非常不方便閱讀。

為了解決這一個痛點,有大佬就開發出了 ccat 這個命令。ccatcat 非常相似,但是使用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 ,並查看其如何顯示輸出。

$ ccat 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

有收獲?希望老鐵們來個三連擊,給更多的人看到這篇文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM