Linux下改ls顏色挺麻煩(相較於FreeBSD)
法一:
#declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35: bd=40;33;01:cd=40;33;01:or=40;31;01:ex=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:*.deb=01;31:*.rpm=01;31: *.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35: *.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35: *.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35: *.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35: *.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35: *.wav=01;35:"
將此段加入 .bashrc 的最後一行就可以了.
若是欲套用到所有user,則將此段加入 /etc/bashrc 的最後一行就可以了.
法二
#echo $TERM (注意大小寫)
xterm
去 /etc 底下找 DIR_COLORS.xterm來修改
#vi /etc/DIR_COLORS.xterm
DIR 01;34 # directory <=目錄顏色在這裡
而ubuntu上沒有這個檔案(fedora有)
新增方法
在 /etc/profile.d 底下建一個檔叫 colorls.sh, 權限755
內容為:
# 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
新增/etc/DIR_COLORS,利用DIR_COLORS指令
#dircolors -p > /etc/DIR_COLORS.xterm
#cp /etc/DIR_COLORS.xterm /etc/DIR_COLORS
在/etc/bashrc加入
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
*.sh也可以直接指定 colors.sh
也能在家目錄下.bashrc裡加入