2009-03-05 10 views
3

In einem Terminal in Red Hat Enterprise Linux 5.x ausgeführt wird:Wo sind die Standard-LS_COLORS in RHEL 5.x festgelegt?

[$] Env 

gibt (unter anderem):

"LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33 . . ." 

größte Teil des Inhalts in LS_COLORS ich in der Datei:

ABER die Werte "no=00:fi=00:di=01;34:ln=01;36:pi=40;33 etc.", habe ich keinen Erfolg finden, auch nach grepping durch das System.

In welcher Datei (en) sind diese Werte definiert?

Ja, ich weiß, ich den Inhalt LS_COLORS auf die Werte kann ich bitte, aber was ich fragen, ist wo die Werte oben sind definiert.

Antwort

0

von ‚dircolors‘ manpage ::

Wenn Datei angegeben ist, es zu lesen bestimmen, welche Farben verwenden für , welche Dateitypen und extensions.Otherwise, eine vorkompilierte Datenbank verwendet wird. Details zum Format dieser Dateien finden Sie unter `dircolors --print-database '.

so scheint es, wie diese Codes im System zusammengestellt werden

7

Ich denke, was Sie suchen, finden Sie unter /etc/profile.d/colorls.sh finden:

# color-ls initialization 

alias ll='ls -l' 2>/dev/null 
alias l.='ls -d .*' 2>/dev/null 

COLORS=/etc/DIR_COLORS 
[ -e "/etc/DIR_COLORS.$TERM" ] && COLORS="/etc/DIR_COLORS.$TERM" 
[ -e "$HOME/.dircolors" ] && COLORS="$HOME/.dircolors" 
[ -e "$HOME/.dir_colors" ] && COLORS="$HOME/.dir_colors" 
[ -e "$HOME/.dircolors.$TERM" ] && COLORS="$HOME/.dircolors.$TERM" 
[ -e "$HOME/.dir_colors.$TERM" ] && COLORS="$HOME/.dir_colors.$TERM" 
[ -e "$COLORS" ] || return 

eval `dircolors --sh "$COLORS" 2>/dev/null` 
[ -z "$LS_COLORS" ] && return 

if ! egrep -qi "^COLOR.*none" $COLORS >/dev/null 2>/dev/null ; then 
     alias ll='ls -l --color=tty' 2>/dev/null 
     alias l.='ls -d .* --color=tty' 2>/dev/null 
     alias ls='ls --color=tty' 2>/dev/null 
fi 

Die LS_COLORS Variable wird durch eine Auswertung die Ausgabe von dircolors --sh "$COLORS" 2>/dev/null, die wiederum ihre Werte von /etc/DIR_COLORS erhält. Mit anderen Worten, die Werte in LS_COLORS sind standardmäßig identisch mit DIR_COLORS.

Sie können dies unter Beweis stellen, indem die Ausgabe von dircolors --sh "$COLORS" Vergleich:

$ dircolors --sh "$COLORS" 
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:'; 
export LS_COLORS 

Und echo $LS_COLORS:

$ echo $LS_COLORS 
no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35: 

Und dort haben Sie es.

3
/etc/DIR_COLORS 

Das obige ist nicht das Gleiche wie folgt.

/etc/DIR_COLORS.xterm. 

Wenn mit SSH-Terminal-Datei protokolliert

/etc/DIR_COLORS.xterm 

verwendet wird.