linux ls命令输出启用颜色
在本文中,我将介绍如何在bashshell中为ls命令输出设置颜色。在Linux中,ls是我们日常管理任务中最基本、最重复使用的命令之一,用于列出目录的内容。如果您注意到ls命令为目录和文件显示不同的颜色,这就是我们将在本文中讨论的内容,以设置和更改ls命令所需的颜色。
默认ls颜色
如果您使用的是任何Linux操作系统,如Ubuntu或CentOS,默认的GUI终端和控制台外壳提示会以各种上下文颜色显示文件。但是,如果默认情况下不支持彩色目录列表的计算机使用ls–color,则可能必须向ls命令添加颜色。
运行以下命令以显示系统上任何目录和文件的默认颜色。
$ ls
$ ls -al /tmp
$ ls -al --color /tmp
还可以使用以下命令检查颜色的分配方式。
$ dircolors
$ echo $LS_COLOR
在这里,您可以看到一长串的文件类型和默认着色方案的编号代码,我们将解释您如何自己创建。
打开/关闭ls命令的颜色
ls命令输出的颜色在bash中定义为别名。运行以下别名和grep命令的组合以查找用于彩色显示的bash shell别名。
$ alias | grep ls
现在运行下面的命令,使用unalias命令删除alias。
$ unalias ls
或者只运行以下ls来关闭颜色。
$ ls --color=none
您可以在屏幕截图中看到,删除别名后,ls命令的输出为uni color。
现在,要启用颜色,请使用以下命令重新分配别名。
$ alias ls='ls --color=auto'
您可以在屏幕截图中看到,删除别名后,ls命令的输出为uni color。
现在,要启用颜色,请使用以下命令重新分配别名。
$ alias ls='ls --color=auto'
默认颜色代码方案
在组合文件类型和颜色列表的过程中,我们需要以filetype=color的形式指定任意数量的文件,并用冒号(:)字符分隔每个文件。
以下是具有默认设置的着色方案列表。
- Uncolored (white): 文件或非文件名文本
- Bold blue: 目录
- Bold cyan: 符号链接
- Bold green: 可执行文件
- Bold red: 存档文件
- Bold magenta: 图像文件、视频、图形
- Cyan: 音频文件
- with black background: 管道
- Bold with black background: 块设备或字符设备
- Bold with black background: 孤立符号链接或缺少文件
- Uncolored with red background: 设置用户ID文件
- Black with background: 设置组ID文件
- Black with background: 具有功能的文件
- White with blue background: 粘性目录
- Blue with green background: 其他可写目录
- Black with green background: 粘性和其他可写目录
要组装您自己的列表,我们需要知道颜色代码和文件类型代码的列表,它们使用与Bash提示符中相同的数字颜色代码。
您可以在下面找到前景文本的颜色代码列表:
- Black: 30
- Green: 32
- Blue: 34
- Purple: 35
- Cyan: 36
- White: 37
更改自定义ls颜色
为了为ls命令设置自定义颜色,也可以通过使用任何文本编辑器(如vim)编辑~/.bash_配置文件或~/.bashrc文件来更新别名。
在对bashrc进行任何更改之前,首先通过将其配置复制到任何其他文件来备份此文件。
$ cp .bashrc .bashrc2
如果出错或遇到问题,可以通过键入以下内容替换.bashrc文件:
$ cp .bashrc2 .bashrc
现在,让我们使用vim命令打开bashrc文件。
$ vim .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
例如,让我们在下面的步骤中了解它是如何工作的。如果要将目录颜色从默认的粗体蓝色更改为粗体蓝色,请在终端中运行以下命令,如图所示。
$ LS_COLORS=”di=1;33”
您可以在LS_COLORS环境变量的末尾添加一个新的键值对,或者只需编辑特定键的值。
例如,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"
熟悉设置自定义颜色后,可以将这些更改永久性地添加到位于用户主目录中的.bashrc文件中。
结论
在本教程的最后,您应该熟悉ls命令的颜色,它们代表什么,以及我们如何为自己的方便启用或禁用并更改它们。设置LS_颜色使LS列表看起来更漂亮,这有助于您在文件系统中识别文件。