自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ls 命令輸出的顏色:它們意味著什么?

系統(tǒng) Linux
想知道 ls 命令輸出中的顏色是什么?它們從何而來,又該如何設(shè)置?本文將為您一一解答。

相信你一定使用過 ls 命令來 列出目錄的內(nèi)容。在 Ubuntu 和許多其他發(fā)行版中,你將看到不同顏色的 ls 命令輸出。

如果你沒有看到過,你可以這樣獲得如下所示的彩色輸出:

ls --color=auto

但是你有沒有想過這些顏色在 ls 命令輸出中意味著什么?

我將回答本文中的問題。如果你的終端默認(rèn)情況下不顯示它,我還將展示如何使用 ls 命令獲取彩色輸出。

Ubuntu 中 ls 命令中使用的顏色的含義

?? ls 命令輸出的顏色沒有固定的標(biāo)準(zhǔn)。不同的終端和發(fā)行版使用不同的顏色編碼,你也可以根據(jù)自己的喜好進(jìn)行修改。換句話說,不要依賴顏色。

我在本節(jié)中使用默認(rèn)的 Ubuntu 終端及其顏色配置文件。

當(dāng)你 使用 ls 命令列出文件 時(shí),它會使用不同的顏色來指示不同類型的文件。

大多數(shù)終端都會以不同的顏色顯示可執(zhí)行文件、鏈接、常規(guī)文件和目錄,以便你可以輕松區(qū)分它們。

有些終端(例如 Ubuntu 中的默認(rèn)終端)將其提升到一個(gè)新的水平,并為音樂文件、圖像和視頻添加更多顏色。

為了演示,我列出了來自不同目錄的文件,這些文件在 Ubuntu 中用不同的顏色填充了我的終端窗口:

different colors used by the ls commanddifferent colors used by the ls command

看起來很混亂? 讓我一一為你解密吧!

顏色

描述

粗體藍(lán)色

目錄

無色

文件或硬鏈接

粗體青色

指向文件的符號鏈接。

粗體綠色

可執(zhí)行文件(.sh 擴(kuò)展名的腳本)

粗體紅色

歸檔文件(主要是 tarball 或 zip 文件)

洋紅色

表示圖像和視頻文件

青色

音頻文件

黃色配黑色背景

管道文件(稱為 FIFO)

粗體紅色配黑色背景

損壞的符號鏈接

無色(白色)配紅色背景

表示設(shè)置用戶 ID 文件

黑色配黃色背景

表示設(shè)置組 ID 文件

白色與藍(lán)色背景

顯示粘滯位目錄

藍(lán)色配綠色背景

指向其他可寫目錄

黑色配綠色背景

當(dāng)目錄同時(shí)具有粘滯位和其他可寫目錄的特征時(shí)

?? 再次強(qiáng)調(diào),上述顏色數(shù)據(jù)基于終端的默認(rèn)設(shè)置,如果更改調(diào)色板,將不會得到類似的結(jié)果。

但是如果你的終端不顯示任何顏色怎么辦? 好吧,這是有原因和解決方案的。

如果 ls 命令不顯示彩色輸出怎么辦?

事情是這樣的。默認(rèn)情況下,ls 命令不應(yīng)在輸出中顯示顏色。如果你使用 --color=auto 標(biāo)志,它將顯示顏色。

ls --color=auto

那么為什么 ls 命令在 Ubuntu 和其他一些發(fā)行版中默認(rèn)添加顏色呢? 這是因?yàn)槟愕陌l(fā)行版為 ls 命令設(shè)置了別名,以便在執(zhí)行 ls 命令時(shí)使用 --color=auto 標(biāo)志:

alias

因此,如果 ls 命令未顯示彩色輸出,則是因?yàn)槟J(rèn)情況下沒有設(shè)置別名。

現(xiàn)在,每當(dāng)你使用 ls 命令時(shí),你都可以使用 --color=auto 標(biāo)志。

Use  --color=auto flag with the ls command to get the colored outputUse --color=auto flag with the ls command to get the colored output

但這不太方便。相反,你應(yīng)該創(chuàng)建別名并將其添加到 .bashrc 中,以便 ls 命令默認(rèn)顯示顏色。

為 ls 創(chuàng)建一個(gè)永久別名來顯示顏色

要創(chuàng)建永久別名,首先,使用以下命令打開 .bashrc 文件:

nano ~/.bashrc

使用 Alt + / 跳到文件末尾 并 粘貼如下行到終端:

alias ls='ls --color=auto'

完成后,保存更改并退出 nano 文本編輯器。

要使你剛剛所做的更改生效,請 源引source .bashrc 文件:

source ~/.bashrc

就是這樣! 從現(xiàn)在開始,你可以使用彩色輸出。

ls 命令從哪里獲取顏色?

現(xiàn)在有趣的部分來了。ls 命令的顏色在哪里定義? 答案是 LS_COLORS 環(huán)境變量。

是的。這是名為 LS_COLORS 的特殊環(huán)境變量,它定義 ls 命令使用的顏色。

Value of the LS_COLORS env variable in UbuntuValue of the LS_COLORS env variable in Ubuntu

這很好,但是誰定義了這個(gè)變量呢? 如果你想做出一些改變怎么辦? 我也來回答一下這些問題。

實(shí)際上,你有一個(gè)專門的 dircolors 命令來為 ls 命令設(shè)置顏色。

不同的 Shell 有不同的顏色配置文件格式。這就是為什么在使用此命令時(shí)應(yīng)指定 Shell。

dircolors command output for bashdircolors command output for bash

如你所見,它定義了 LS_COLORS 環(huán)境變量并將其導(dǎo)出,以便該變量可用于子 Shell。

現(xiàn)在,如果你想使用它,你可以將其復(fù)制粘貼到你的 .bashrc 文件或像這樣重定向輸出:

dircolors -b >> .bashrc

并 源引source

理解顏色配置文件

LS_COLORS 包含由冒號(:)分隔的鍵值對數(shù)據(jù)。如果該值有多個(gè)部分,則它們之間用分號(;)分隔。

鍵通常是預(yù)定義的。值部分代表顏色。

因此,如果顯示 ln=01;36,則表示對于符號鏈接,字體為粗體,顏色(36)為青色。

00 為正常,01 為粗體,4 為下劃線。31 代表紅色,32 代表綠色等。顏色代碼遵循 ANSI 轉(zhuǎn)義代碼。

另一個(gè)例子。or=40;31;01 表示鏈接到不存在的文件(鍵為 or),使用黑色背景(顏色代碼 40)、紅色(31)和粗體字體(代碼 01)。

我認(rèn)為順序并不重要,因?yàn)榇a不重疊。31 是前景色紅色的代碼,41 是背景紅色的顏色。因此,如果使用 41,你就知道它用于背景顏色。

使用 ls 命令執(zhí)行更多操作

ls 命令可以做更多的事情,為此,我們制作了有關(guān)如何使用 ls 命令的詳細(xì)教程:

在 Linux 中使用 ls 命令

Abhishek Prakash 提供資料。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2015-08-24 09:51:04

dtit

2019-04-03 11:05:47

DevOps敏捷開發(fā)開源

2014-08-18 10:31:41

游戲設(shè)計(jì)

2021-04-08 10:17:13

云原生公共云云計(jì)算

2023-09-27 10:54:25

物聯(lián)網(wǎng)傳感器

2013-12-03 09:37:02

工作時(shí)間

2022-10-09 10:38:58

零信任網(wǎng)絡(luò)安全

2010-09-26 08:40:00

C++

2021-08-05 16:30:58

邊緣物聯(lián)網(wǎng)物聯(lián)網(wǎng)大數(shù)據(jù)

2010-10-26 11:16:55

紅旗云計(jì)算祥云工程

2011-07-19 10:11:53

AndroidHTC蘋果

2016-02-26 15:50:40

HTTP2

2017-06-06 11:44:45

FuchsiaAndroidGoogle

2023-01-05 10:16:27

2014-06-19 16:20:19

OpenStackDocker 1.0

2010-05-04 10:00:27

虛擬化

2019-06-12 13:20:05

2022-05-27 11:05:08

零信任網(wǎng)絡(luò)安全

2022-09-09 16:06:45

零信任Kubernetes安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號