如何使ls的输出着色?


22

我在Linux文本模式下运行CentOS。当我运行命令时ls /usr/,输出太难读了(黑色深蓝色)。如何更改文字颜色?

ls输出的屏幕截图

Answers:


19

如果要在控制台中(即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目录并进行更改。然后从你的源这个.bashrceval $(dircolors -b ~/.dir_colors)这将允许你在当您使用的文件和文件类型的颜色细粒度控制ls

您可以.dir_colors在此处找到(非常详细和彻底的)示例文件:https : //github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS

结合使用这三种方法,无论您是在控制台中还是在X中工作,您都可以创建合理统一的设置。


对不起,我是linux的新手。我将其安装在linux文本中。没有控制台。所有的东西都在命令行中运行。谢谢,
11

2
是的:这就是我在TTY控制台(TTY 1-7)中在X外面说的意思。
jasonwryan 2011年

jasonwryan,我运行命令vim / etc / DIR_COLORS,DIR是01; 34如何更改蓝绿色。谢谢,
2011年

2
颜色一词在这里:tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html绿色是绿色00;32,浅绿色/大胆绿色是1;32获得蓝绿色的唯一方法是使用上述方法定义这16种颜色之一相当于蓝绿色的十六进制。
jasonwryan 2011年

抱歉,这是一个初学者的问题,但是对于OS X中的Unix系统,您的答案会更改吗?
查理·帕克2014年

9

您想要的文件是/etc/DIR_COLORS。我遇到了与您完全相同的问题,并将目录更改为蓝绿色。效果更好。

cp /etc/DIR_COLORS /home/yourusername/.dir_colors

编辑/home/yourusername/.dir_colors,您将看到以下行:

DIR 01;34    #directory

更改为此:

DIR 01;36    #directory

这会使目录颜色变成蓝绿色。


当我运行命令/ etc / DIR_COLORS时,其输出权限被拒绝。我是root用户,为什么?如何将颜色更改为蓝绿色。谢谢
runeveryday

3
@run这不是命令,而是配置文件;在文本编辑器中打开它
Michael Mrozek

DIR为01; 34如何更改蓝绿色。谢谢,
2011年

@MaxMackie这似乎不适用于我(已复制到~/.dir_colors),并将所有内容都更改为00。发现我必须打开一个新终端。如何将其强制执行/附加到当前终端?
Bernhard 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.