当您ls
在bash shell中执行时,有时会有颜色指示不同的资源类型,您可以使用--color
参数启用/控制它.
但是,手册页和谷歌都没有提供这个问题的答案:
默认情况下这些颜色表示什么,以及如何显示当前系统使用的内容?
更新:
感谢大家到目前为止的答案,但是为了更容易选择胜利者,任何人都可以更进一步,并提供一种方法来输出他们适用的颜色的描述.
嗯...我的例子在发布时不起作用(仅在预览时),所以如果你预览这段代码,它会显示我的意思......
谢谢.
颜色由$LS_COLORS
环境变量定义.根据您的发行版,它会在shell启动时自动生成,使用~/.dircolors
或/etc/DIR_COLORS
.
编辑:
要列出颜色含义,请使用以下脚本:
eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g') { IFS=: for i in $LS_COLORS do echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m" done }
运行该命令dircolors -p
将打印所有默认颜色设置.请参见http://linux.about.com/library/cmd/blcmdl1_dircolors.htm.