如何为ls命令设置颜色
在这篇文章中,我要写的是为ls命令设置颜色。在Linux中,ls是我们日常管理任务中最基本也是最经常使用的命令之一,用来列出一个目录的内容。
如果你注意到ls命令为目录和文件显示了不同的颜色,这就是我们在本文中要讨论的为ls命令设置和改变所需的颜色。
一、默认的 ls 颜色方案
如果你使用的是Ubuntu或CentOS等任何Linux操作系统,默认的GUI终端和控制台shell提示符会以各种上下文颜色显示文件。然而,如果一台机器默认使用ls --color不支持彩色目录列表,你可能必须给ls命令添加颜色。
运行以下命令来显示系统上任何目录和文件的默认颜色。
$ ls
$ ls -al /tmp
$ ls -al --color /tmp
您也可以使用以下命令来检查颜色是如何分配的。
$ dircolors
$ echo $LS_COLOR
在这里,你可以看到一个长长的文件类型和数字代码的默认着色方案的列表,我们将解释你如何自己创建。
默认颜色编码方案
在组装文件类型和颜色列表的过程中,我们需要在filetype=color表单中指定任意数量的文件类型和颜色,并用冒号(:)分隔它们。
下面是默认设置的着色方案列表。
Uncolored(白色):文件或非文件名文本(例如ls -l输出中的权限)
蓝色粗体:目录
青色粗体:符号链接
绿色粗体:可执行文件
红色粗体:存档文件
加粗品红:图像文件、视频、图形等或门或插座
青色:音频文件
黑色背景:pipe(又名FIFO)
黑体背景:块设备或字符设备
黑体背景:孤立符号链接或丢失文件
未着色的红色背景:设置用户id文件
黑色背景:set-group-ID文件
黑色带背景:有能力的文件
白色加蓝色背景:粘性目录
蓝色加绿色背景:其他可写目录
黑色与绿色背景:粘性和其他可写入目录
要组合你自己的列表,我们需要知道颜色代码和文件类型代码的列表,它们使用相同的数字颜色代码,就像你的Bash提示一样。
你可以在下面找到前景文本的颜色代码列表:
黑色:30
绿色:32
蓝色:34
紫色:35
青色:36
白色:37
二、打开/关闭ls命令的颜色
ls命令的颜色在bash中定义为别名。运行以下别名和grep命令的组合,以查找用于彩色显示的bash shell别名。
$ alias | grep ls
在输出中,您将找到针对ls命令使用的别名列表。
现在,运行以下命令以使用unalias命令删除别名。
$ unalias ls
或者只是运行以下ls来关闭颜色。
$ ls --color=none
您可以在屏幕截图中看到,删除别名后,ls命令的输出为单色。
现在,要启用颜色,请使用以下命令分配别名。
$ alias ls='ls --color=auto'
您可以在屏幕截图中看到,删除别名后,ls命令的输出为单色。
现在,要启用颜色,请使用以下命令分配别名。
$ alias ls='ls --color=auto'
三、设置自定义ls颜色
为了给ls命令设置自定义颜色,也可以通过更新~/.bash_profile或~/.bashrc文件的别名,使用vim等文本编辑器编辑该文件。
在对bashrc进行任何更改之前,请先通过将该文件的配置复制到任何其他文件来对该文件进行备份。
$ cp .bashrc .bashrc2
如果输入有误或遇到麻烦,可以通过键入以下内容来替换.bashrc文件:
$ cp .bashrc2 .bashrc
现在,使用vim命令打开bashrc文件。
$ vim .bashrc
对baschrc文件进行任何更改后,接下来保存该文件并运行以下命令以更新bash更改。
$ source .bashrc
让我们来看一下以下步骤的工作方式。若要将目录的颜色从默认的粗体蓝色设置为粗体,请在终端中运行以下命令,如图所示。
$ LS_COLORS=”di=1;33”
您可以在LS_COLORS环境变量的末尾添加新的键值对,也可以直接编辑特定键的值。
例如,di=0;33,这里di表示颜色将只影响到目录,而0表示它是普通颜色,33表示颜色。
如果要为目录保留粗体字体,则颜色代码应为di = 1; 33,而1表示粗体字体。
四、更改ls颜色的更多示例
让我们使用以下命令来改变您的文件夹和某些特定文件扩展名的颜色。
$ export LS_COLORS=$LS_COLORS:"*.txt=01;36":"*.mp3=01;31"
在这里,您可以看到我们已将.txt文件的颜色更新为Cyan,并将.mp3扩展名的文件颜色更新为。
让我们在下面运行另一个命令,将目录的颜色设置为“紫色”。
$ export LS_COLORS="di=0;35"
熟悉了设置自定义颜色后,就可以将这些更改添加到位于用户主目录中的dot bashrc文件中,以使这些更改永久生效。
在本教程的最后,您应该熟悉ls命令的颜色,它们代表的含义以及为方便起见我们如何启用或禁用以及更改它们。设置LS_COLORS可以使ls列表看起来更漂亮,这有助于您在遍历文件系统时识别文件。