我在 Linux 文本模式下运行 CentOS。当我运行命令时ls /usr/
,输出太难以阅读(黑底深蓝色)。如何更改文本颜色?
答案1
如果您想在控制台中更改颜色,那就是X 之外,然后您可以在 中指定颜色.bashrc
,如下所示:
if [ "$TERM" = "linux" ]; then
echo -en "\e]P0222222" #black
echo -en "\e]P8222222" #darkgrey
echo -en "\e]P1803232" #darkred
....
fi
您将黑色定义为的位置#222222
请参阅此帖子了解详细信息:http://phraktured.net/linux-console-colors.html
如果你正在工作在 X,然后您可以通过定义颜色来自定义您的设置,如下.Xresources
所示:
!black
*color0: #3D3D3D
*color8: #5E5E5E
!red
*color1: #8C4665
*color9: #BF4D80
...
然后在启动 X 时获取此文件,通常来自您的.xinitrc
:
xrdb -merge ~/.Xresources
Arch Wiki 在 .Xresources 上有一个页面,解释了所有选项: https://wiki.archlinux.org/index.php/Xresources
您可以进行的另一个增强要么在 X 中,要么不在 X 中是指定您想要着色的所有不同文件类型以及它们在文件中各自的颜色.dir_colors
,如下所示:
.xinitrc 01;31
.Xauthority 01;31
.Xmodmap 00;31
.Xresources 01;33
...
首先,复制/etc/dir_colors
到您的用户/home
目录并进行更改。然后从您的.bashrc
源中获取它eval $(dircolors -b ~/.dir_colors)
,这将允许您在使用时对文件和文件类型的颜色进行细粒度控制ls
。
您可以在这里找到(非常详细和彻底的).dir_colors
示例文件:
https://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS
通过结合所有三种方法,无论您是在控制台还是在 X 中工作,您都可以创建相当统一的设置。
答案2
你想要的文件是/etc/DIR_COLORS
.我遇到了与您完全相同的问题,并将目录更改为青色。效果好多了。
cp /etc/DIR_COLORS /home/yourusername/.dir_colors
编辑/home/yourusername/.dir_colors
,你会看到这一行:
DIR 01;34 #directory
将其更改为:
DIR 01;36 #directory
这使得目录颜色变成青色。
答案3
您可以手动设置 ls 颜色,但我更喜欢这种方法:
首先有
dircolors
命令。
dircolors --print-database > ~/.dir_colors
更改该文件内的颜色(这是非常不言自明的,并且颜色在文件内可视化)
应用更改:
eval $(dircolors ~/.dir_colors)
为了持久使用,请将其放入~./bashrc
:
if [ -f ${HOME}/.dir_colors ]; then
eval $(dircolors ~/.dir_colors)
fi
答案4
使用ls --color=no
标志是最直接的选择。较短的版本是ls --col=n
.
管道自动ls
设置--color=no
。ls | cat
或者ls | tee
会起作用。
也可以使用 ,ls | grep .
默认情况下使所有输出为红色,或者ls | grep ''
默认情况下使所有输出为白色。