一般來說如果在 openSUSE 以 root 身份使用 ls 指令 會顯示隱藏檔案
原因是因為 系統有設定 alias
alias ls='ls $LS_OPTIONS'
原因是因為 系統有設定 alias
alias ls='ls $LS_OPTIONS'
如果去 觀察 $LS_OPTIONS
# echo $LS_OPTIONS
-A -N --color=tty -T 0
就會發現有加上 -A 的選項
所以會顯示隱藏檔案
以往修正這個選項都是在 /etc/bash.bashrc 檔案內
將 root 的 LS_OPTIONS 的 -A 拿掉來修正
if test "$UID" = 0 ; then
LS_OPTIONS="-A -N $LS_OPTIONS -T 0"
else
LS_OPTIONS="-N $LS_OPTIONS -T 0"
fi
但是在 openSUSE 11.4 卻沒有在 /etc/bash.bashrc 內看到 相關設定
原因是相關設定移到 /etc/profile.d 目錄內了
觀察一下相關目錄
# ls /etc/profile.d/
PackageKit.sh csh.utf8 ls.bash sh.ssh
alias.ash cvs.csh ls.tcsh sh.utf8
alias.bash cvs.sh opensp.csh udisks-bash-completion.sh
alias.tcsh desktop-data.csh opensp.sh xdg-environment.csh
alljava.csh desktop-data.sh profile.csh xdg-environment.sh
alljava.sh gvfs-bash-completion.sh profile.sh zzz-glib2.csh
bindkey.tcsh krb5.csh pulseaudio.csh zzz-glib2.sh
complete.bash krb5.sh pulseaudio.sh zzz-groff.csh
complete.tcsh lang.csh python.csh zzz-groff.sh
csh.ssh lang.sh python.sh
相關設定檔會被存放於 /etc/profile.d/ls.bash
修改 /etc/profile.d/ls.bash 內的值就可以了
#vi /etc/profile.d/ls.bash
if test "$UID" = 0 ; then
LS_OPTIONS="-N $LS_OPTIONS -T 0"
else
LS_OPTIONS="-N $LS_OPTIONS -T 0"
fi
enjoy it ~~