linux - .dircolors 不影响现有文件,只影响新文件

标签 linux ubuntu-12.04

我最近认为 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/

相关文章:

ubuntu-12.04 - 如何在 ubuntu 中更改笔记本电脑的屏幕亮度?

java - Ubuntu 中的 jssc SerialPortList

regex - 使用 bash 在引号开头添加命令

linux - 为什么使用 std::thread::hardware_concurrency() 和 boost::thread::hardware_concurrency() 有区别?

linux - awk 没有使用 bash 变量

android - 如何通过终端获取android模拟器列表?

linux - 什么代表 Ubuntu 中 .desktop 文件中的 'StartupWMClass' 条目?

c - 如何自动删除空行 - kdevelop

java - 错误: JAVA_HOME is not set and could not be found. 如何在Hadoop中永久设置JAVA_HOME?

c - 当在循环中突然退出 C 程序时,为什么会发生额外的循环迭代?