Linux下一隻五顏六色的「貓」
阿新 • • 發佈:2020-07-15
大家好,我是良許。
有使用過 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
### 有收穫?希望老鐵們來個三連擊,給更多的人看到這