• ubuntu 改动 ls 下的文件夹颜色


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

    于是想着改动成easy识别的颜色。

    于是搜索了一下。

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

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

    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 把这个变量设置为全局变量。

    所以我们要做的非常easy。在 ~/.bashrc 的最后一行加上这句就可以。

    eval "$(dircolors -b .dircolors)"


    知道含义了,我们这样也能够 

    eval "`dircolors -b .dircolors`"


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


    悲剧的是这种方法在我的电脑上生效了。可是在server上失败了。


    见下:

    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/
    +/
    /


    4.规范变量

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


    5.合并行

    :%s/
    //


    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 文件就是上面的

    好了,最终完美攻克了。



  • 相关阅读:
    Docker的安装和scrapy-splash的安装
    scrapyd打包到服务器运行
    一些python的简单有用方法
    NFS学习
    apache配置https加密传输
    httpd基于域名不同的虚拟主机配置
    Openssl创建私有CA
    NODEJS版本控制和切换
    HyperV使用Centos系统安装FTP服务
    装Anaconda报错This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see http://conda.io/activation
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6796253.html
Copyright © 2020-2023  润新知