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 文件就是上面的
好了,终于完美解决了。
相关推荐
`ls /`显示根目录的内容,`ls -a`显示包括隐藏文件在内的所有文件,`ls -l`提供详细信息,如权限、所有者、大小等,`ls -t`按最后修改时间排序,`ls -R`递归列出子目录,`ls -color`用于控制是否以颜色显示。...
- `ls -color=[never/always/auto]`:控制ls命令是否使用颜色显示。 - `cd`:改变工作目录。 - `pwd`:显示当前工作目录。 - `mkdir`:创建目录。 - `rmdir`:删除空目录。 - `touch`:创建或更新文件的时间戳...
1. 全局主题设置:通过修改系统主题来改变Ubuntu桌面的外观,提供更符合个人喜好的视觉体验。 2. 中文界面设置: - 点击虚拟机右上角的齿轮按钮,进入设置界面。 - 选择第四个标签中的系统设置,输入管理员密码。 ...
- 常见的命令包括 `ls` (列出目录内容)、`cd` (切换目录)、`pwd` (显示当前工作目录) 等。 - **Linux程序、进程**: - Linux系统使用进程来执行程序。 - 进程可以是前台进程或后台进程。 - **Linux系统简介**: - ...
5. **修改Shell设置**:可以通过终端调整背景色、字体颜色等终端设置,以提高可读性和舒适度。 6. **命令的使用**:基本的Shell命令包括`ls`(列出目录内容)、`cd`(切换目录)、`mkdir`(创建目录)、`rm`(删除...
但在某些情况下,可能会导致颜色设置异常,从而无法正常启动安装界面。若遇到此类问题,建议使用 Oracle 用户登录并启动一个新的桌面环境 (例如通过 `gdmflexiserver` 命令),然后再次尝试安装。 至此,Ubuntu ...
1. **别名**:别名允许我们为常用的命令创建简写,例如,`alias ll='ls -l'` 可以让 `ll` 命令执行 `ls -l` 的功能,显示目录的详细列表。 2. **路径**:通过修改`PATH`环境变量,可以添加或删除可执行文件的搜索...
ubuntu16.04 Anaconda 环境 labelme 安装与使用 不同label指定不同颜色 1. 打标签 2. 修改 json_to_dataset.py 这个文件在解析.json文件的时候会用到 我的路径为:/home/sj/anaconda3/envs/labelme/lib/python3.6/...
- **定制终端背景**:Ubuntu的终端背景颜色可以在终端本身或通过配置文件进行修改。 - **设置快捷键**:Ubuntu允许用户自定义快捷键,通过系统设置的“键盘”选项可以创建新快捷键,例如设置打开浏览器、任务管理...
`ls`命令用于查看当前目录下的文件和子目录。通过添加参数如`-l`可以显示详细信息,`-a`则会显示隐藏文件。 2. **cd**:改变工作目录。这个命令用于切换到不同的目录,例如`cd /home/user`会将当前目录改为/home/...
- `ls`: 显示当前目录的内容(默认带颜色)。 - `ls /tmp`: 显示指定目录/tmp的内容。 - `ls -l`: 列出文件和文件夹的基本属性和详细信息。 - `ls -a`: 列出当前目录的全部内容,包括隐藏文件。 - `ls -la`: 列...
- `nautilus`是GNOME桌面环境下的默认文件管理器,用于图形界面方式浏览文件和目录。 - 命令:`nautilus [选项] [路径]` - 示例:`nautilus /home/user/Documents` 打开用户的文档文件夹。 - **更换字体** - ...
- `ls --color` 用颜色区分不同类型的文件(目录、可执行文件等); - `ls -l` 以长格式显示详细信息。 - `cp` 命令用于复制文件或目录: - `cp file1 file2` 复制文件 `file1` 到 `file2`; - `cp -r dir1 dir2...
`ls`命令用于查看当前目录下的文件和子目录,通过添加选项如`-l`可以显示详细信息,`-a`显示隐藏文件,`-R`递归显示所有子目录。 2. **cd**:切换当前工作目录。使用`cd`命令可以改变你的工作目录,如`cd /home/...
在Linux中,命令行是日常操作的重要工具,其中`ls`命令是用于列出目录内容的基本指令。 `ls`命令有许多选项可以调整输出信息。例如,`-a`选项用于显示所有文件,包括通常隐藏的以`.`开头的文件;`-A`与`-a`类似,但...
1. **ls**:这个命令用于列出目录中的文件和子目录。你可以通过添加参数如`-l`显示详细信息,`-a`显示所有文件(包括隐藏文件),以及`-h`以人类可读的方式显示文件大小。 2. **cd**:改变当前工作目录。例如,`cd ...
如`mkdir mydirectory`会在当前目录下创建名为mydirectory的新目录。 5. **rm**:删除文件或目录。`rm file.txt`删除单个文件,`rm -r directory`删除一个目录及其所有内容。 6. **cp**:复制文件或目录。`cp file...
- `ls`:显示当前目录的内容(有颜色)。 - `ls /tmp`:显示指定目录/tmp的内容。 - `ls -l`:列出文件和文件夹的基本属性和详细信息。 - `ll`:等同于`ls -l`,以长格式显示文件和文件夹的信息。 以上内容覆盖...