我最近认为 Ubuntu 使用的终端配色方案不是最优的。我已经编辑了 .dircolors 并且它的工作...在大多数情况下。我遇到的问题是我向 .dircolors 添加了两个自定义文件扩展名,即 .R 和 .cpp。我想制作这些不同的颜色,但它只适用于我创建一个新文件,比如 test.R 或 test.cpp,而不适用于我已经存在的 .R 和 .cpp 文件。
知道为什么现有的没有采用 .dircolors 中的新颜色设置吗?
最佳答案
这可能是因为 ~/.dircolors
不是由 ls
直接读取的,而是在 shell 启动时用于设置环境变量 LS_COLORS
ls
使用。我打赌你在列出目录时使用了两个不同的终端,一个是在修改 ~/.dircolors
之后启动的。要使更改在现有终端中生效,请使用 eval $(dircolors ~/.dircolors)
。
颜色也根据文件的模式分配。例如,您的旧文件可能是可执行文件,因此会优先使用您定义的颜色。在我的系统上,这些基于模式的颜色用于 setuid 和 setgid 文件、具有功能的文件和可执行文件。
关于linux - .dircolors 不影响现有文件,只影响新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468403/