2014-12-04 57 views
0

LS输出我知道有ls命令的选项:自定义文件扩展名的颜色在Cshell

ls --color 

...这将显示文件,目录,链接等在C-外壳不同的颜色,但我不知道是否有一种方法来定制ls输出,使匹配*.foo拿出红色的文件,符合*.bar来为绿色,等我预料的文件有一些办法将其设置在我的启动文件.cshrc中。任何清洁解决方案

+0

这个问题似乎是题外话,因为它不是关于编程,并且更适合unix.stackexchange.com – Carpetsmoker 2014-12-04 10:35:56

回答

1

是的,它可能使用LS_COLORS变量。您可以将其定义如下:

setenv LS_COLORS "${LS_COLORS}:*.foo=00;31:*.bar=00;32:" 

此变量用于定制ls命令显示特定文件颜色的方式。它像一个模式:

*.foo=<Attribute>;<foreground text color>;<background color> 


Attribute values: 
00=none 
01=bold 
04=underscore 
05=blink 
07=reverse 
08=concealed 

Text color codes: 

30=black 
31=red 
32=green 
33=yellow 
34=blue 
35=magenta 
36=cyan 
37=white 

Background color codes: 

40=black 
41=red 
42=green 
43=yellow 
44=blue 
45=magenta 
46=cyan 
47=white 
+0

注意这与'LS-F'内置, *不一定用'/ bin/ls'。我认为GNU'ls'确实可以接受,但BSD'ls'不包括(包括OSX)。 – Carpetsmoker 2014-12-04 10:38:55

+0

是的,你是正确的..它的GNU – SMA 2014-12-04 10:40:10

+0

它不是为GNU本身,它是'ls-F',GNU'ls' *发生*使用非常相似或相同的语法。 – Carpetsmoker 2014-12-04 10:43:38