Answers:
要更改目录颜色,请~/.bashrc
使用编辑器打开文件
nano ~/.bashrc
并在文件末尾输入以下内容:
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS
一些不错的颜色选择(在这种情况下0;35
为紫色)是:
Blue = 34
Green = 32
Light Green = 1;32
Cyan = 36
Red = 31
Purple = 35
Brown = 33
Yellow = 1;33
Bold White = 1;37
Light Grey = 0;37
Black = 30
Dark Grey= 1;30
第一个数字是样式(1 =粗体),然后是分号,然后是颜色的实际数字,可能的样式(效果)是:
0 = default colour
1 = bold
4 = underlined
5 = flashing text (disabled on some terminals)
7 = reverse field (exchange foreground and background color)
8 = concealed (invisible)
可能的背景:
40 = black background
41 = red background
42 = green background
43 = orange background
44 = blue background
45 = purple background
46 = cyan background
47 = grey background
100 = dark grey background
101 = light red background
102 = light green background
103 = yellow background
104 = light blue background
105 = light purple background
106 = turquoise background
107 = white background
所有可能的颜色:
31 = red
32 = green
33 = orange
34 = blue
35 = purple
36 = cyan
37 = grey
90 = dark grey
91 = light red
92 = light green
93 = yellow
94 = light blue
95 = light purple
96 = turquoise
97 = white
甚至可以将它们组合起来,这样一个参数就可以了:
di=1;4;31;42
在您的LS_COLORS变量中将使目录以带有绿色背景的带下划线的红色粗体显示!
要在终端中测试所有这些颜色和样式,可以使用以下之一:
for i in 00{2..8} {0{3,4,9},10}{0..7}
do echo -e "$i \e[0;${i}mSubdermatoglyphic text\e[00m \e[1;${i}mSubdermatoglyphic text\e[00m"
done
for i in 00{2..8} {0{3,4,9},10}{0..7}
do for j in 0 1
do echo -e "$j;$i \e[$j;${i}mSubdermatoglyphic text\e[00m"
done
done
您还可以在使用ls命令时更改其他类型的文件,方法是通过定义每种类型:
bd = (BLOCK, BLK) Block device (buffered) special file
cd = (CHAR, CHR) Character device (unbuffered) special file
di = (DIR) Directory
do = (DOOR) [Door][1]
ex = (EXEC) Executable file (ie. has 'x' set in permissions)
fi = (FILE) Normal file
ln = (SYMLINK, LINK, LNK) Symbolic link. If you set this to ‘target’ instead of a numerical value, the color is as for the file pointed to.
mi = (MISSING) Non-existent file pointed to by a symbolic link (visible when you type ls -l)
no = (NORMAL, NORM) Normal (non-filename) text. Global default, although everything should be something
or = (ORPHAN) Symbolic link pointing to an orphaned non-existent file
ow = (OTHER_WRITABLE) Directory that is other-writable (o+w) and not sticky
pi = (FIFO, PIPE) Named pipe (fifo file)
sg = (SETGID) File that is setgid (g+s)
so = (SOCK) Socket file
st = (STICKY) Directory with the sticky bit set (+t) and not other-writable
su = (SETUID) File that is setuid (u+s)
tw = (STICKY_OTHER_WRITABLE) Directory that is sticky and other-writable (+t,o+w)
*.extension = Every file using this extension e.g. *.rpm = files with the ending .rpm
Bigsoft-配置LS_COLORS上提供了更完整的列表。
在某些发行版上,您可能还想将ow
“(OTHER_WRITABLE
)(默认值是不可读的)” 的背景颜色更改为例如绿色背景上的非粗体蓝色文本。
例如LS_COLORS="$LS_COLORS:di=1;33"
,您可以在.bashrc
文件末尾使用,以在黑色背景上获得漂亮的可读粗体橙色文本。
更改.bashrc文件后,要使更改生效,必须重新启动shell或run source ~/.bashrc
。
注意:您可以用结合多个命令冒号,例如
LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls
资源:
.bashrc
-有些颜色可以工作,而其他颜色则看起来有所不同。例如,文件夹是绿色而不是蓝色,但是文件看起来正确。会是什么呢?
/etc/bash.bashrc
LS_COLORS=$LS_COLORS:'tw=01;35:ow=01;35:' ; export LS_COLORS
很简单。将这三行添加到〜/ .bashrc
$ vi ~/.bashrc
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'
如果要在运行的bash会话中应用更改,请运行:
source ~/.bashrc
source ~/.bashrc
每次登录时我都需要运行。有没有办法解决此问题?
echo $SHELL
从cmd提示符下键入时会得到什么?我敢打赌不是/bin/bash
。您可以找到活动的.profile
或在最后.login
添加source $HOME/.bashrc
。祝好运。
除了Hegazi的答案,您实际上可以使用dircolors命令控制目录颜色以及许多其他颜色。您可以创建一个有据可查的配置文件。
您可以在主目录中创建一个.dircolor文件,如下所示:
dircolors -p > ~/.dircolors
然后在〜/ .bashrc文件中添加以下行
eval "`dircolors -b ~/.dircolors`"
alias ls='ls --color=auto'
这将为bash创建$ LS_COLORS变量。如果是csh,则将设置-c标志。它还标记ls命令以彩色显示。
如上所述,在〜/ .dircolor文件颜色中编辑DIR属性的值,以更改目录的颜色(或其他包含的其他文件类型的其他颜色)。您还可以更改特定文件的颜色,或定义自己的文件。
这是我使用常用选项的ls命令的方法:
将以下行添加到名为〜/ .alias的文件中
alias ll='ls -lhF --color=auto'
alias llt='ls -lht --color=auto'
alias lla='ls -alF --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
alias ls="ls --color=auto"
将以下行添加到〜/ .bashrc中
if [ -f ~/.alias ]; then
. ~/.alias
fi
--color=auto
的ls
别名-其他别名与继承的设置
LS_COLORS=$LS_COLORS:'di=1;44:' ; export LS_COLORS
为在蓝色背景上以粗体白色显示目录。