Saturday, October 10, 2009

emerge的输出提示

在console和terminal下的命令行有两种提示方式:
1. 颜色
2. 额外的字符

I. 颜色

颜色在视觉上给人一定的提示. 不论是terminal下还是console下, 本人严重依赖于颜色! 如果两者的输出没有颜色是非常难看, 很容易看少, 看漏信息

使用得最多的就是ls命令的颜色了, 如:
jessinio@niolaptop ~ $ type ls
ls is aliased to `ls --color=auto'

平时使用有颜色的ls也是使用的参数去控制的.

还好, gentoo的emerge在这方面做得不错, 来两幅例子, 下面两幅输出文字相同, 只是颜色的区别:

看一幅没有color的输出:

下面是有color的输出:

颜色还是很鲜明的, 特别是在一堆文字中强调一小部分文字, 比如画中的-idn


II. 额外的字符

还是与ls命令为例:
jessinio@niolaptop ~ $ ls --color=none -F
结果为:
输出的文件名后有额外的字符: "/", "*"
这些额外的字符其实是表示不同的强调含义!
       -F, --classify
              append indicator (one of */=>@|) to entries

III. 两种方式的比较

颜色只要是给人类看到的. 对于computer是对颜色没有兴趣的. 反而它对额外的字符比较感兴趣. 用一个grep就可以方便处理带有"*"的文件名, 多方便!

IV. emerge的输出

今天update world, 感受emerge的提示帮助本人大大提高了升级的便利. 随便做做笔记. 方便日后回顾

emerge的输出同时有两种提示, 从上面emerge的输出图片都可以看得出.
1. 颜色由--color参数指定(默认是打开的)
2. 额外的symbols是由-v(--verbose)打开. 如下:
              Symbol   Location    Meaning
              ──────────────────────────────────────────────────────────────
              -        prefix      not enabled (either disabled or removed)
              *        suffix      transition to or from the enabled state
              %        suffix      newly added or removed
              ()       circumfix   forced, masked, or removed

从实例中, 本人注意到:
-前缀的都是这种颜色的!
*后缀的USE都是这种颜色的!
有%的USE都是这种颜色的!

下面翻译一下symbol的意思:
-前缀: 被禁止的USE.
*后缀: 有两层意思:
1. 与USE的默认值不同. 即被人为enabled了;
2. 与已安装的包的USE不同. 这又有两种情况:
1. 与已安装的包相比, USE被修改
2. 正在使用的USE在新的版本中被remove了. 这时与%同时存在
%后缀: 被增加或者是被移除了.

这些symbol本身不难, 难在它们之间可以同时存在! 上面对*后缀描述得详细, 因为它很敏感. 它的存在表示:
* 此USE被修改或者被enable了!
* transition to or from the enabled state 这句话其在太有难度了!

所以, 应该留言!

其它:
man 5 color.map就可以看到: color.map - custom color settings for Portage
用户是可以自定义颜色的. 当然也有默认的颜色信息在这个man手册里了!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.