在本文中,我將撰寫有關在您的 ls 命令輸出中設置顏色的內容 bash 殼。 在 Linux 中,ls 是我們日常管理任務中列出目錄內容的基本且最常用的命令之一。
如果您注意到 ls 命令為目錄和文件顯示不同的顏色,這就是我們將在本文中討論的設置和更改 ls 命令所需顏色的內容。
默認 ls 顏色
如果您使用的是 Ubuntu 或 CentOS 等任何 Linux 操作系統,默認的 GUI 終端和控制台 shell 提示會以各種上下文顏色顯示文件。 但是,如果默認情況下不支持彩色目錄列表的機器使用 ls --color
.
運行以下命令以顯示系統上任何目錄和文件的默認顏色。
$ ls
$ ls -al /tmp
$ ls -al --color /tmp
您還可以使用以下命令來檢查顏色的分配方式。
$ dircolors
$ echo $LS_COLOR

在這裡您可以看到一長串文件類型和默認配色方案的編號代碼,我們將解釋您如何自己創建。
打開/關閉 ls 命令的顏色
ls 命令輸出的顏色定義在 bash 作為別名。 運行以下別名和 grep 命令的組合來查找 bash 用於顏色顯示的外殼別名。
$ alias | grep ls
現在運行以下命令以使用 unalias 命令刪除別名。
$ unalias ls
或者只運行以下 ls 關閉 顏色。
$ ls --color=none

您可以在截圖中看到刪除別名後 ls 命令的輸出為單色。
現在,到 啟用顏色,使用以下命令重新分配別名。
$ alias ls="ls --color=auto"

您可以在截圖中看到刪除別名後 ls 命令的輸出為單色。
現在,要啟用顏色,請使用以下命令重新分配別名。
$ alias ls="ls --color=auto"
默認顏色代碼方案
在組裝文件類型和顏色列表的過程中,我們需要以 filetype=color 形式指定任意數量的文件,並用冒號 (:) 字符分隔每個文件類型和顏色。
以下是默認設置的配色方案列表。
● 無色(白色):文件或非文件名文本(例如 ls -l 輸出中的權限)
● 粗藍:目錄
● 粗體青色:符號鏈接
● 粗綠色:可執行文件
● 粗體紅色:存檔文件
● 麤品品紅色:圖像文件、視頻、圖形等或門或插座
● 青色:音頻文件
● 黑色背景:管道(AKA FIFO)
● 黑底粗體:塊設備或字符設備
● 黑底粗體:孤立符號鏈接或丟失文件
● 無色紅底:set-user-ID 文件
● 黑色背景:set-group-ID 文件
● 黑色背景:文件有能力
● 白藍底:粘性目錄
● 藍綠底:其他可寫目錄
● 黑綠底:粘性和其他可寫目錄
要組合您自己的列表,我們需要知道顏色代碼和文件類型代碼的列表,它們使用與您的 Bash 提示中相同的數字顏色代碼。
您可以在前景文本的顏色代碼列表下方找到:
● 黑色:30
● : 31
● 綠色:32
● : 33
● 藍色:34
● 紫色:35
● 青色:36
● 白色:37
更改自定義 ls 顏色
為了設置自定義顏色 ls command
,這也可以通過將別名更新為 ~/.bash_profile
或者 ~/.bashrc
通過使用任何文本編輯器編輯文件,例如 vim
.
在對 bashrc 進行任何更改之前,首先通過將其配置複製到任何其他文件來備份該文件。
$ cp .bashrc .bashrc2
如果您犯了錯誤或遇到問題,您可以通過鍵入以下內容替換您的 .bashrc 文件:
$ cp .bashrc2 .bashrc
現在讓我們使用 vim 命令打開 bashrc 文件。
$ vim .bashrc
.bashrc
## Colorize the ls output ##
alias ls="ls --color=auto"
## Use a long listing format ##
alias ll="ls -la"
## Show hidden files ##
alias l.='ls -d .* --color=auto'

對 baschrc 文件進行任何更改後,接下來保存它並運行以下命令以更新您的 bash 變化。
$ source .bashrc
讓我們為 example 在以下步驟中查看它是如何工作的。 如果要將目錄的顏色從默認的藍色粗體更改為粗體,請在終端中運行以下命令,如圖所示。
$ LS_COLORS=”di=1;33”

您可以在末尾添加一個新的鍵值對 LS_COLORS 環境變量 或者乾脆編輯特定鍵的值。
為了 example, di=0;33, 這裡di表示顏色只對目錄有影響,0代表正常顏色,33代表顏色是。
如果您想為目錄保留粗體,顏色代碼應為 di=1;33 而 1 代表粗體。
更多例子
讓我們通過使用以下命令來玩轉 改變顏色 您的文件夾和一些特定的文件擴展名。
$ export LS_COLORS=$LS_COLORS:"*.txt=01;36":"*.mp3=01;31"

在這裡您可以看到,我們已將 .txt 文件的顏色更新為青色,並將 .mp3 擴展名的文件的顏色更新為 .
讓我們在下面運行另一個命令,將目錄的顏色設置為紫色。
$ export LS_COLORS="di=0;35"

熟悉設置自定義顏色後,您可以通過將這些更改添加到位於用戶主目錄中的 dot bashrc 文件來使這些更改永久化。
結論
在本教程結束時,您應該熟悉 ls 命令的顏色、它們代表什麼以及我們如何啟用或禁用以及為了我們自己的方便而更改它們。 設置您的 LS_COLORS 使您的 ls 列表看起來更漂亮,這有助於您在瀏覽文件系統時識別文件。