【发布时间】:2016-01-14 14:45:03
【问题描述】:
无论我输入ls 还是/bin/ls,我的ls 输出的所有目录颜色都与文件不同。我没有在.bashrc 或我能找到的相关文件中设置任何LS_COLOR 内容。
如何关闭这些颜色? (我很满意ls -F)
谢谢!
【问题讨论】:
-
您可能设置了
CLICOLOR环境变量。
无论我输入ls 还是/bin/ls,我的ls 输出的所有目录颜色都与文件不同。我没有在.bashrc 或我能找到的相关文件中设置任何LS_COLOR 内容。
如何关闭这些颜色? (我很满意ls -F)
谢谢!
【问题讨论】:
CLICOLOR 环境变量。
如评论中所述,OSX ls 关注 CLICOLOR。 ls manual 页面是查看的地方。它似乎与FreeBSD 中的程序相同,它使用终端数据库(与 GNU ls 相比)。同样,请注意变量是 LSCOLORS,而不是 LS_COLORS:
CLICOLOR使用 ANSI 颜色序列来区分文件类型。请参阅下面的
LSCOLORS。此外 对于 -F 选项中提到的文件类型,一些额外的属性(setuid 位设置, 等)也会显示。着色取决于终端类型 适当的 termcap(5) 功能。默认的“cons25”控制台具有适当的功能, 但是要在 xterm(1) 中显示颜色,例如,TERM 变量必须是 设置为“xterm-color”。其他终端类型可能需要类似的调整。着色 如果未将输出定向到终端,则会静默禁用,除非定义了CLICOLOR_FORCE变量。
CLICOLOR_FORCE如果输出未定向到终端,通常会禁用颜色序列。这 可以通过设置此标志来覆盖。
TERM变量仍然需要引用 支持颜色的终端,但否则无法确定哪种颜色 要使用的序列。
TERM
CLICOLOR功能取决于具有颜色功能的终端类型。
关于“termcap(5)”的措辞已经过时; FreeBSD 和 OSX 都使用 terminfo 数据库超过十年。
GNU ls manual 页面确实显示 LS_COLORS(两者不同)。 dircolors manual 页面间接引用了“预编译数据库”(这与 terminfo/termcap 无关,它使用 TERM 来获得类似结果会造成混淆)。
【讨论】: