什么UNIX命令支持彩色输出?

时间:2009-02-19 00:43:21

标签: bash unix shell colors ls-colors

我喜欢使用支持彩色输出的UNIX / bash命令。因此,我定义了一些别名,这些别名会自动启用我知道支持此选项的命令的彩色输出。但是,我确信有数百个支持彩色输出的命令 - 我想知道它们是什么。

~/.bash_aliases文件中的文件是:

ls --color=auto
grep --color
phpunit --ansi

还有什么?是否有支持彩色输出的所有命令的某个列表?或者更好的是,有一些命令用于grepping我的本地手册页并删除相应的命令名。

5 个答案:

答案 0 :(得分:9)

你为什么不试试:

man -K color

这应该在所有手册页中搜索单词颜色(内容,而不仅仅是标题)。

它要求为每个手册页打开并查看页面:

$ man -K color
/usr/share/man/mann/Widget.n.gz? [ynq] y
/usr/share/man/mann/usual.n.gz? [ynq] y
/usr/share/man/mann/Toplevel.n.gz? [ynq] n
/usr/share/man/mann/itk.n.gz? [ynq] n
/usr/share/man/mann/Archetype.n.gz? [ynq] n
/usr/share/man/man8/squid.8.gz? [ynq] n
/usr/share/man/man7/Xprint.7.gz? [ynq]
/usr/share/man/man7/X.7.gz? [ynq]
/usr/share/man/man7/urxvt.7.gz? [ynq]
/usr/share/man/man7/term.7.gz? [ynq] q

$

在每个单独的手册页中,您可以使用常规搜索方法(例如/color<ENTER>)来查找文本。完成手册页后,只需退出即可继续搜索。

答案 1 :(得分:8)

谷歌搜索的一小部分内容还会显示grcgrcat,可用于对任意文本或命令进行着色。不知道他们的工作有多好。我现在肯定会尝试一下,因为我找到了它们。

啊,我们走吧。 grc使用/etc/grc.conf文件根据匹配的正则表达式为给定命令着色。我的快速grep(Ubuntu 8.10)/etc/grc.conf显示它目前支持:

[~]$ less /etc/grc.conf | grep '^#'
# anything to do with irc
# log file
# ping command
# traceroute command
# gcc command
# make command
# netstat command
# diff command
# last command
# ldap tools
# cvs command

但我相信你可以为自己感兴趣的其他节目添加自己的。

要使用grc,只需将其放在要着色的命令之前(让我们说diff):

grc diff foo.txt bar.txt

默认情况下你可以alias diff='grc diff'使diff着色。

答案 2 :(得分:3)

我非常喜欢为我的提示着色以使其脱颖而出。有关此类事情的有用文章可用here

答案 3 :(得分:0)

这个演示bash脚本在大多数终端中将目录设置为红色 - 当然可以在Windows下的xterms和cygwin中使用。您可以通过摆弄转义码来调整颜色 - Google for LS_COLOR用于颜色代码列表:

#!/bin/bash

color_red()
{
    echo -e "\033[01;31m$1\033[00m"
}

for FILE in $*
do
    if test -d $FILE
    then
        color_red $FILE
    else
        echo $FILE
    fi
done

答案 4 :(得分:0)

查看日志时,您可能会喜欢tail -f /var/log/messages | loco彩色输出。

screenshot网站上有locohttp://www.linuxhaxor.net/2008/01/02/perl-script-to-add-nice-colors-to-your-varlogmessages-file有更多示例