mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
Merge pull request #29950 from wxy/20230728.0-⭐️⭐️-Colors-in-ls-Command-Output-What-do-They-Mean
RP:published/20230728.0 ⭐️⭐️ Colors in ls Command Output What do They Mean.md
This commit is contained in:
commit
cc81ab36c2
@ -3,24 +3,28 @@
|
|||||||
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
|
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
|
||||||
[#]: collector: "lkxed"
|
[#]: collector: "lkxed"
|
||||||
[#]: translator: "geekpi"
|
[#]: translator: "geekpi"
|
||||||
[#]: reviewer: " "
|
[#]: reviewer: "wxy"
|
||||||
[#]: publisher: " "
|
[#]: publisher: "wxy"
|
||||||
[#]: url: " "
|
[#]: url: "https://linux.cn/article-16108-1.html"
|
||||||
|
|
||||||
ls 命令输出的颜色:它们意味着什么?
|
ls 命令输出的颜色:它们意味着什么?
|
||||||
======
|
======
|
||||||
|
|
||||||
我相信你一定使用过 ls 命令来[列出目录的内容][1]。在 Ubuntu 和许多其他发行版中,你将看到不同颜色的 ls 命令输出。
|
![][0]
|
||||||
|
|
||||||
如果你没有看到它,你可以获得如下所示的彩色输出:
|
> 想知道 ls 命令输出中的颜色是什么?它们从何而来,又该如何设置?本文将为您一一解答。
|
||||||
|
|
||||||
|
相信你一定使用过 `ls` 命令来 [列出目录的内容][1]。在 Ubuntu 和许多其他发行版中,你将看到不同颜色的 `ls` 命令输出。
|
||||||
|
|
||||||
|
如果你没有看到过,你可以这样获得如下所示的彩色输出:
|
||||||
|
|
||||||
```
|
```
|
||||||
ls --color=auto
|
ls --color=auto
|
||||||
```
|
```
|
||||||
|
|
||||||
但是你有没有想过这些颜色在 ls 命令输出中意味着什么?
|
但是你有没有想过这些颜色在 `ls` 命令输出中意味着什么?
|
||||||
|
|
||||||
我将回答本文中的问题。**如果你的终端默认情况下不显示它,我还将展示如何使用 ls 命令获取彩色输出**。
|
我将回答本文中的问题。**如果你的终端默认情况下不显示它,我还将展示如何使用 `ls` 命令获取彩色输出**。
|
||||||
|
|
||||||
### Ubuntu 中 ls 命令中使用的颜色的含义
|
### Ubuntu 中 ls 命令中使用的颜色的含义
|
||||||
|
|
||||||
@ -28,7 +32,7 @@ ls --color=auto
|
|||||||
|
|
||||||
**我在本节中使用默认的 Ubuntu 终端及其颜色配置文件。**
|
**我在本节中使用默认的 Ubuntu 终端及其颜色配置文件。**
|
||||||
|
|
||||||
当你[使用 ls 命令列出文件][2]时,它会使用不同的颜色来指示不同类型的文件。
|
当你 [使用 ls 命令列出文件][2] 时,它会使用不同的颜色来指示不同类型的文件。
|
||||||
|
|
||||||
大多数终端都会以不同的颜色显示可执行文件、链接、常规文件和目录,以便你可以轻松区分它们。
|
大多数终端都会以不同的颜色显示可执行文件、链接、常规文件和目录,以便你可以轻松区分它们。
|
||||||
|
|
||||||
@ -63,13 +67,13 @@ ls --color=auto
|
|||||||
|
|
||||||
### 如果 ls 命令不显示彩色输出怎么办?
|
### 如果 ls 命令不显示彩色输出怎么办?
|
||||||
|
|
||||||
事情是这样的。默认情况下,ls 命令不应在输出中显示颜色。如果你使用 `--color=auto` 标志,它将显示颜色。
|
事情是这样的。默认情况下,`ls` 命令不应在输出中显示颜色。如果你使用 `--color=auto` 标志,它将显示颜色。
|
||||||
|
|
||||||
```
|
```
|
||||||
ls --color=auto
|
ls --color=auto
|
||||||
```
|
```
|
||||||
|
|
||||||
那么为什么 ls 命令在 Ubuntu 和其他一些发行版中默认添加颜色呢? 这是因为你的发行版为 ls 命令设置了别名,以便在执行 ls 命令时使用 `--color=auto` 标志:
|
那么为什么 `ls` 命令在 Ubuntu 和其他一些发行版中默认添加颜色呢? 这是因为你的发行版为 `ls` 命令设置了别名,以便在执行 `ls` 命令时使用 `--color=auto` 标志:
|
||||||
|
|
||||||
```
|
```
|
||||||
alias
|
alias
|
||||||
@ -77,13 +81,13 @@ alias
|
|||||||
|
|
||||||
![][4]
|
![][4]
|
||||||
|
|
||||||
因此,如果 ls 命令未显示彩色输出,则默认情况下不会设置别名。
|
因此,如果 `ls` 命令未显示彩色输出,则是因为默认情况下没有设置别名。
|
||||||
|
|
||||||
现在,每当你使用 ls 命令时,你都可以使用 `--color=auto` 标志。
|
现在,每当你使用 `ls` 命令时,你都可以使用 `--color=auto` 标志。
|
||||||
|
|
||||||
![Use --color=auto flag with the ls command to get the colored output][5]
|
![Use --color=auto flag with the ls command to get the colored output][5]
|
||||||
|
|
||||||
但这不太方便。相反,你应该创建别名并将其添加到 bashrc 中,以便 ls 命令默认显示颜色。
|
但这不太方便。相反,你应该创建别名并将其添加到 `.bashrc` 中,以便 `ls` 命令默认显示颜色。
|
||||||
|
|
||||||
#### 为 ls 创建一个永久别名来显示颜色
|
#### 为 ls 创建一个永久别名来显示颜色
|
||||||
|
|
||||||
@ -93,7 +97,7 @@ alias
|
|||||||
nano ~/.bashrc
|
nano ~/.bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
[Go to the end of the file][6] using `Alt + /` and [paste the following line in the terminal][7]:
|
使用 `Alt + /` [跳到文件末尾][6] 并 [粘贴如下行到终端][7]:
|
||||||
|
|
||||||
```
|
```
|
||||||
alias ls='ls --color=auto'
|
alias ls='ls --color=auto'
|
||||||
@ -101,7 +105,7 @@ alias ls='ls --color=auto'
|
|||||||
|
|
||||||
完成后,[保存更改并退出 nano][8] 文本编辑器。
|
完成后,[保存更改并退出 nano][8] 文本编辑器。
|
||||||
|
|
||||||
要使你刚刚所做的更改生效,请 source `.bashrc` 文件:
|
要使你刚刚所做的更改生效,请 <ruby>源引<rt>source</rt></ruby> `.bashrc` 文件:
|
||||||
|
|
||||||
```
|
```
|
||||||
source ~/.bashrc
|
source ~/.bashrc
|
||||||
@ -111,51 +115,53 @@ source ~/.bashrc
|
|||||||
|
|
||||||
### ls 命令从哪里获取颜色?
|
### ls 命令从哪里获取颜色?
|
||||||
|
|
||||||
现在有趣的部分来了。ls 命令的颜色在哪里定义? 答案是 LS_COLORS。
|
现在有趣的部分来了。`ls` 命令的颜色在哪里定义? 答案是 `LS_COLORS` 环境变量。
|
||||||
|
|
||||||
是的。这是名为 LS_COLORS 的特殊环境变量,它定义 ls 命令使用的颜色。
|
是的。这是名为 `LS_COLORS` 的特殊环境变量,它定义 `ls` 命令使用的颜色。
|
||||||
|
|
||||||
![Value of the LS_COLORS env variable in Ubuntu][9]
|
![Value of the LS_COLORS env variable in Ubuntu][9]
|
||||||
|
|
||||||
这很好,但是谁定义了这个变量呢? 如果你想做出一些改变怎么办? 我也来回答一下这些问题。
|
这很好,但是谁定义了这个变量呢? 如果你想做出一些改变怎么办? 我也来回答一下这些问题。
|
||||||
|
|
||||||
实际上,你有一个专门的 `dircolors` 命令来为 ls 命令设置颜色。
|
实际上,你有一个专门的 `dircolors` 命令来为 `ls` 命令设置颜色。
|
||||||
|
|
||||||
不同的 shell 有不同的颜色配置文件格式。这就是为什么在使用此命令时应指定 shell。
|
不同的 Shell 有不同的颜色配置文件格式。这就是为什么在使用此命令时应指定 Shell。
|
||||||
|
|
||||||
![dircolors command output for bash][10]
|
![dircolors command output for bash][10]
|
||||||
|
|
||||||
如你所见,它定义了 LS_COLORS 环境变量并将其导出,以便该变量可用于子 shell。
|
如你所见,它定义了 `LS_COLORS` 环境变量并将其导出,以便该变量可用于子 Shell。
|
||||||
|
|
||||||
现在,如果你想使用它,你可以将其复制粘贴到你的 bashrc 文件或像这样重定向输出:
|
现在,如果你想使用它,你可以将其复制粘贴到你的 `.bashrc` 文件或像这样重定向输出:
|
||||||
|
|
||||||
```
|
```
|
||||||
dircolors -b >> .bashrc
|
dircolors -b >> .bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
并 source 文件,以便效果立即可见。你只需要做一次。
|
并 <ruby>源引<rt>source</rt></ruby> 该文件,以便效果立即可见。你只需要做一次。
|
||||||
|
|
||||||
#### 理解颜色配置文件
|
#### 理解颜色配置文件
|
||||||
|
|
||||||
LS_COLORS 包含由冒号(:)分隔的键值对中的数据。如果该值有多个部分,则它们之间用分号(;)分隔。
|
`LS_COLORS` 包含由冒号(`:`)分隔的键值对数据。如果该值有多个部分,则它们之间用分号(`;`)分隔。
|
||||||
|
|
||||||
键通常是预定义的。值部分代表颜色。
|
键通常是预定义的。值部分代表颜色。
|
||||||
|
|
||||||
因此,如果显示 `ln=01;36`,则表示对于符号链接,字体为粗体,颜色 (36) 为青色。
|
因此,如果显示 `ln=01;36`,则表示对于符号链接,字体为粗体,颜色(`36`)为青色。
|
||||||
|
|
||||||
0 为正常,1 为粗体,4 为下划线。31 代表红色,32 代表绿色等。颜色代码遵循 [ANSI 转义代码][11]。
|
`00` 为正常,`01` 为粗体,`4` 为下划线。`31` 代表红色,32 代表绿色等。颜色代码遵循 [ANSI 转义代码][11]。
|
||||||
|
|
||||||
另一个例子。`or=40;31;01` 表示链接到不存在的文件(键为 or),使用黑色背景(颜色代码 40)、红色和粗体字体(代码 01)。
|
另一个例子。`or=40;31;01` 表示链接到不存在的文件(键为 `or`),使用黑色背景(颜色代码 `40`)、红色(`31`)和粗体字体(代码 `01`)。
|
||||||
|
|
||||||
我认为顺序并不重要,因为代码不重叠。31 是前景色红色的代码,41 是背景红色的颜色。因此,如果使用 41,你就知道它用于背景颜色。
|
我认为顺序并不重要,因为代码不重叠。`31` 是前景色红色的代码,`41` 是背景红色的颜色。因此,如果使用 `41`,你就知道它用于背景颜色。
|
||||||
|
|
||||||
### 使用 ls 命令执行更多操作
|
### 使用 ls 命令执行更多操作
|
||||||
|
|
||||||
ls 命令可以做更多的事情,为此,我们制作了有关如何使用 ls 命令的详细教程:
|
`ls` 命令可以做更多的事情,为此,我们制作了有关如何使用 `ls` 命令的详细教程:
|
||||||
|
|
||||||
**[本教程是由我们社区论坛中的 It's FOSS 成员请求的][12]**。如果你有建议或教程请求,请[**使用我们的社区平台**][13]反馈。
|
> **[在 Linux 中使用 ls 命令][11a]**
|
||||||
|
|
||||||
_Abhishek Prakash 提供资料。。_
|
Abhishek Prakash 提供资料。
|
||||||
|
|
||||||
|
*(题图:MJ/4d0f1f66-259f-4671-a3a8-158f61a38b10)*
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -164,7 +170,7 @@ via: https://itsfoss.com/ls-color-output/
|
|||||||
作者:[Sagar Sharma][a]
|
作者:[Sagar Sharma][a]
|
||||||
选题:[lkxed][b]
|
选题:[lkxed][b]
|
||||||
译者:[geekpi](https://github.com/geekpi)
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
@ -181,5 +187,5 @@ via: https://itsfoss.com/ls-color-output/
|
|||||||
[9]: https://itsfoss.com/content/images/2023/07/ls_colors-env-variable.png
|
[9]: https://itsfoss.com/content/images/2023/07/ls_colors-env-variable.png
|
||||||
[10]: https://itsfoss.com/content/images/2023/07/dircolors-command-output.png
|
[10]: https://itsfoss.com/content/images/2023/07/dircolors-command-output.png
|
||||||
[11]: https://en.wikipedia.org/wiki/ANSI_escape_code
|
[11]: https://en.wikipedia.org/wiki/ANSI_escape_code
|
||||||
[12]: https://itsfoss.community/t/what-is-the-color-code-for-line-in-the-ubuntu-terminal/10791/18
|
[11a]: https://itsfoss.com/ls-command/
|
||||||
[13]: https://itsfoss.community/c/topic-ideas/25
|
[0]: https://img.linux.net.cn/data/attachment/album/202308/19/093739lmsxp2psmxxuq9ki.jpg
|
Loading…
Reference in New Issue
Block a user