修复具有 777 权限的目录的 LS 颜色?

Jos*_*uaD 25 ls colors bash

当我ls在具有 777 权限的目录的文件夹上运行时,ls颜色是带有绿色背景的紫色文本,这是不可读的:

在此处输入图片说明

我该怎么做才能让这看起来更令人愉快?

cas*_*cas 34

如果您使用的是 Linux(而不是,例如,使用不同方式的 Mac),您可以使用dircolors自定义数据库来指定哪些颜色用于哪些文件属性。

首先,创建一个 dircolors 数据库文件。

$ dircolors -p > ~/.dircolors
Run Code Online (Sandbox Code Playgroud)

然后编辑它,您可能希望将STICKY_OTHER_WRITABLEOTHER_WRITABLE行更改为比34;42(34 是蓝色,42 是绿色 - 有dircolors -p用地包含带有列出的颜色代码的注释)更令人愉快的内容。

然后运行

eval $(dircolors ~/.dircolors)
Run Code Online (Sandbox Code Playgroud)

编辑您的 ~/.profile (或 ~/.bash_profile 等)并找到运行的行eval $(dircolors)并将其更改为包含上述文件名。或者,如果您的 .profile(等)中没有这样的行,请添加它。

或者,如果您希望它无论是否有~/.dircolors文件都可以工作,请将其更改为:

[ -e ~/.dircolors ] && eval $(dircolors -b ~/.dircolors) || 
    eval $(dircolors -b)
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,如果您使用 `vim` 编辑 .dircolors 文件,那么 vim 的语法突出显示将在您编辑它们时显示颜色。 (4认同)