ubuntu 下, ls 显示的目录的颜色,怎么说呢,看起来太费劲了。

于是想着修改成容易识别的颜色。

于是搜索了一下。

这里列举三个搜到的教程吧。

简单说我按这上面的方法做了,然后都失败了。

1. http://blog.csdn.net/star11053234/article/details/8680530

这里有个ubuntu的截图,这个背景看着还没那么折磨人。

但是他中间粘了那么多代码,给人一种凑字的感觉。

最下面才说重点:到处颜色列表,修改目录的,把加载颜色列表的命令加载.bashrc中去,也就是启动自动加载。

但是我执行后并没有生效。

2.http://blog.chinaunix.net/uid-10540984-id-3058379.html

这个一样,和第一个差不多,没有生效。

不过他提到几个颜色的对应编号,可以看一下。

3.http://dreamthinking.blog.163.com/blog/static/2051811712012313358252/

说着说着说成修改PS1的样式了。

最后我说说我的解决方法吧。

其实上面说的基本上都正确,但是可能是直接复制别人写的博客的缘故吧,所以那些都不能生效。

从 .bash_profile 入手吧,里面没什么配置,主要是执行 .bashrc 文件。

.bashrc 里面执行了 .bash_aliases,但是这个是起别名的文件,默认为空。

然后看到 .bash_functions , 但是只是一些函数, 默认文件都不存在。

然后就没有了。

然后去 / 下找找。

先在 /etc 下找,发现了bash.bashrc。

在最后一行发现了被注释的一条命令

# Uncomment to use the terminal colours set in DIR_COLORS
#eval "$(dircolors -b /etc/DIR_COLORS)"

然后我去知道,上面提到的解决方法之所以不能生效,是 eval 这条命令写错了。

于是我分析了一下这条命令,含义是把执行 命令 dircolors -b /etc/DIR_COLORS 后,把输出的内容当做命令再次执行。

那自然也可以换成

自己手动执行 dircolors -p > .dircolors ,可以看到输出的文件里有一个 DIR 01;34 # directory.

我们把34修改成合适的颜色,一般35,36都行,自己试试。

然后执行 dircolors -b .dircolors ,可以看到下面的样子

skyyuan@skyyuan-PC3:~ $ dircolors -b .dircolors
LS_COLORS='di=01;35:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

简单的说就是把文件压缩在一个变量里面了,各个配置实用冒号(:)分割。我们可以看到,第二个di=01;35就是我们的配置。

最后 export LS_COLORS 把这个变量设置为全局变量。

所以我们要做的很简单,在 ~/.bashrc 的最后一行加上这句即可。

eval "$(dircolors -b .dircolors)"

知道含义了,我们这样也可以

eval "`dircolors -b .dircolors`"

注意,这个 `是键盘左上角 Esc下面的那个键,不是单引号。

悲剧的是这个方法在我的电脑上生效了,但是在服务器上失败了。
见下:

skyyuan@skyyuan-PC3:~ $ dircolors -p > .dir_colors
skyyuan@skyyuan-PC3:~ $ dircolors -b .dir_colors
LS_COLORS='';
export LS_COLORS

于是尝试手动执行 export 。

也就是执行

skyyuan@skyyuan-PC3:~ $ LS_COLORS='di=01;35:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
skyyuan@skyyuan-PC3:~ $ export LS_COLORS

然后,发现生效了。

但是执行命令提示这个错误

ls: unrecognized prefix: ca
ls: unparsable value for LS_COLORS environment variable

显然是系统不认识这些缩写。

那就手动生成这些缩写吧。

vi 打开 .dir_colors 文件。

1. 删除注释。

:%s/#\(.*)\//

2.删除TERM  变量

:%s/^TERM .*$//

3.删除空行

:%s/\n\+/\r/

4.规范变量

:%s/^\([^ ]\+\) \(.*\)$/\1=\2:/

5.合并行

:%s/\n//

6.删除多余的空格

:%s/ //

7.生成变量

:%s/^\(.*\)$/LS_COLORS='\1'/

于是得到没有缩写的变量LS_COLORS了。

LS_COLORS='NORMAL=00:FILE=00:DIR=01;34:LINK=01;36:FIFO=40;33:SOCK=01;35:DOOR=01;35:BLK=40;33;01:CHR=40;33;01:ORPHAN=40;31;01:SETUID=37;41:SETGID=30;43:STICKY_OTHER_WRITABLE=30;42:OTHER_WRITABLE=34;42:STICKY=37;44:EXEC=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:.flac=01;35:.mp3=01;35:.mpc=01;35:.ogg=01;35:.wav=01;35:'

然后再次试试

竟然提示

ls: unparsable value for LS_COLORS environment variable

好吧,我愤怒了。

然后做了下面四个尝试

skyyuan@skyyuan-PC3:skyyuan $  LS_COLORS="DIR=01;35"
skyyuan@skyyuan-PC3:skyyuan $ ls
ls: unparsable value for LS_COLORS environment variable
skyyuan.bashrc* skyyuan.sh* tools/
skyyuan@skyyuan-PC3:skyyuan $  LS_COLORS="dir=01;35"
skyyuan@skyyuan-PC3:skyyuan $ ls
ls: unparsable value for LS_COLORS environment variable
skyyuan.bashrc* skyyuan.sh* tools/
skyyuan@skyyuan-PC3:skyyuan $  LS_COLORS="di=01;35"
skyyuan@skyyuan-PC3:skyyuan $ ls
skyyuan.bashrc* skyyuan.sh* tools/
skyyuan@skyyuan-PC3:skyyuan $  LS_COLORS="DI=01;35"
skyyuan@skyyuan-PC3:skyyuan $ ls
ls: unrecognized prefix: DI
ls: unparsable value for LS_COLORS environment variable
skyyuan.bashrc* skyyuan.sh* tools/

好吧,变量名必须缩写且必须小写。

那只有一个一个的尝试了。

继续回复完整变量名

LS_COLORS='di=01;35:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

提示

skyyuan@skyyuan-PC3:skyyuan $  ls
ls: unrecognized prefix: ca
ls: unparsable value for LS_COLORS environment variable
skyyuan.bashrc* skyyuan.sh* tools/

删除 ca 这个变量名。

LS_COLORS='di=01;35:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

再次尝试,好了,变色了,没错误信息了。

skyyuan@skyyuan-PC3:skyyuan $  ls
skyyuan.bashrc* skyyuan.sh* tools/

接下来是把这个变量名保存起来。

export  LS_COLORS='di=01;35:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

可以直接放到 .bashrc 里面,也可以单独放到一个文件里面(.dir_colors),然后 source 一下。

比如我的

if  [ -f $HOME/skyyuan/.dir_colors ];then
source $HOME/skyyuan/.dir_colors;
fi

.dir_colors 文件就是上面的

好了,终于完美解决了。

ubuntu 修改 ls 下的目录颜色的更多相关文章

  1. Linux系统修改Home下的目录为英文

    修改Home下的目录为英文 修改目录映射文件名: vim .config/user-dirs.dirs 修改如下:XDG_DESKTOP_DIR="$HOME/Desktop"XD ...

  2. Ubuntu虚拟机查看文件,目录颜色详解

    查看文件 查看Home(不是home)目录下文件: [duanyongchun@localhost ~]$ ls 查看根目录下文件: [duanyongchun@localhost ~]$ cd / ...

  3. ubuntu 修改终端命令显示的颜色

    转于  http://www.blogbus.com/riusksk-logs/62891140.html 修改当前用户 gedit ~/.bashrc 在最后一行下面添加这行 PS1='${debi ...

  4. ubuntu 改动 ls 下的文件夹颜色

    ubuntu 下, ls 显示的文件夹的颜色,怎么说呢,看起来太费劲了. 于是想着改动成easy识别的颜色. 于是搜索了一下. 这里列举三个搜到的教程吧. 简单说我按这上面的方法做了,然后都失败了. ...

  5. ubuntu系统根目录下各个目录用途说明

    1./ 根目录     --------- 所有目录挂在其下 2./boot     --------- 存放Ubuntu内核和系统启动文件.系统启动时这些文件先被装载. 3./etc    ---- ...

  6. 笔记-ubuntu中/home下中文目录改英文

    安装ubuntu后,如果选择的语言是中文,那/home下的文件夹会默认中文,在使用命令行的时候很不方便,此文记录切换成英文的方式,以便日后查看. 将目录重命名为英文 可以使用图形化界面,直接重命名 可 ...

  7. 如何修改eclipse下注释的颜色

    修改注释颜色:window -- preferences -- java --editor --syntax coloring -- comments 中的前两个就是修改注释颜色的.点击右边的colo ...

  8. 修改linux下mysql目录权限

    1.进入当前目录:例cd /srun3/mysql 2.修改权用户限 chown -R mysql ipt_authd_remote(表示给ipt_authd_remotemysql权限) 3.修改用 ...

  9. VirtualBox 中ubuntu访问window下共享目录

    1,vbox中设置window需要共享给vbox中ubuntu的文件夹,主要要注意共享文件夹名称windowShare. 2,在ubuntu中挂载windowShare. sudo mount -t ...

随机推荐

  1. android屏幕适配,生成不同分辨率的dimen.xml文件

    一.在项目下新建moudle,选择Java Library 二.DimenUtils类 public class DimenUtils { //文件保存的路径 是在该项目下根路径下创建 比如该项目创建 ...

  2. MVC4 Model ValueProvider

    1. NameValueCollectionValueProvider: ValueProvider 的数据容器一般具有类似字典的结构.NameValueCollection 表示一种 key 和va ...

  3. Android-ContentProvider-UriMatcher

    注意:在ContentProvider里面写对数据库增删改查的时候,千万不能 db.close();  cursor.close(); 等操作,不然其他应用访问不到数据,也没有必要写isOpen(); ...

  4. Android-Activity-startActivityForResult

    之前 Android-Intent意图传递数据,的博客讲解了,一个Activity 跳转 到另外一个Activity 可以把数据带过去 Android还提供了一种方式,一个Activity 跳转 到另 ...

  5. centos7 安装dnf包管理器和常用命令

    Installing DNF Currently the DNF package comes from the EPEL repository, so if your Linux system is ...

  6. 如何使用jQuery + css3制作绚丽的网页经验总结

    常见的网页特效有:轮播,滚动,闪烁,渐变,图标GIF效果,翻转,折叠,3D变换,主视觉等.以前没有CSS3时一些复杂的特效都要借助Flash来实现,Flash为什么会被淘汰,个人认为有以下几点: 1. ...

  7. IoC概要

    控制反转基本上说的是功能调用者与功能实现者之间应该如何交互,即二者之间没有直接的强耦合(调用者new一个被调用者),而是都依赖同一个抽象,这个抽象规定了二者交互的接口.反转的意思是实现了依赖倒置,在程 ...

  8. ajax 跨域访问的解决方案

    ajax 跨域访问的解决方案 一.什么是跨域: 1.什么样的请求属于跨域: 域名,端口有任何一个不相同都属于跨域: 二.跨域的常用几种解决方案: 1.jsonp: 2.iframe: 3.webcon ...

  9. Subway Pursuit (二分)(交互题)

    题目来源:codeforces1039B Subway Pursuit 题目大意: 在1到n里有一个运动的点,要求找到这个点,每次可以查询一个区间内有没有这个点,每次这个点往左或者往右移动1到k个位置 ...

  10. kali linux之免杀技术

    恶意软件: 病毒,木马.蠕虫,键盘记录,僵尸程序,流氓软件,勒索软件,广告程序 在用户非自愿的情况下安装 出于某种恶意的目的:控制,窃取,勒索,偷窥,推送,攻击 恶意程序最主要的防护手段:杀软 检测原 ...