- 想问上图中的软链接红色的是失效的不存在的,蓝色是有效的:这种高亮是
XShell
独有的么 - 如果是独有的为什么有的服务器连高亮都没了?
- 如果不是独有的那么怎么才能调试出来让每个服务器都能有高亮呢
XShell
独有的么ls
命令有一个支持高亮颜色的参数--color
,会将ls输出的结果进行高亮显示,效果就是你看到的那样。
绝大多数Linux发行版自带就会有一个alias ls='ls --color'
,如果你的alias
没有,自己添加这个alias就行了。当然你也可以自己执行ls
命令的时候手工指定这个参数: ls -alF --color
(这个命令的效果就是你的截图显示的那个ls输出模式)
另外xshell也需要开启xterm色彩支持(通常xshell默认配置就是,你也不需要额外设置,除非你自己改了默认)。
同理,其他的terminal emulator只要设置开启支持色彩高亮都是可以显示shell中的色彩高亮的
不是。
配色实际是会使用远程终端的配置;你本地 XShell 改的是当远程没有返回颜色信息时的颜色。
颜色的本质是包含在返回数据里一起发送回来的,这些颜色字符会被识别并替换掉,你看到的就是花里胡哨的了。
比如远程发送给你的是
\c00{root}\c11{@}\c22{hostname}
其中\cxx
决定后面显示啥颜色,xx 是系统配色序号、从 00 到 ff 对应 256 色,你实际看到的就是root@hostname
,root
一个色、@
另一个色、hostname
又一个色。(仅作基本原理的举例说明,实际数据格式不长这样)如果部分主机有高亮、部分没有,你可以先对比一下这几个远程主机自己的
~/.bashrc
内容是否不一致(如果用的是 zsh 就是~/.zshrc
,其他 Shell 同理)。