2009-02-19 95 views
11

我喜歡使用支持彩色輸出的UNIX/bash命令。因此,我定義了一些別名,它們可以自動啓用我知道支持該選項的命令的彩色輸出。但是,我確信有數百個支持彩色輸出的命令 - 我想知道它們是什麼。UNIX命令支持彩色輸出?

~/.bash_aliases文件的有:

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

還有什麼?是否有支持彩色輸出的所有命令的列表?或者更好的是,一些命令可以查詢我的本地手冊頁並拔出相應的命令名稱。

+1

嚴格地說,這些都是GNU程序(AFIAK)。正如我們都知道的那樣:GNU的不是Unix! – MighMoS 2009-02-19 01:14:40

+0

我想你的意思是兩種以上的顏色? :-) – 2017-06-08 06:35:02

回答

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>),用於尋找文本。完成一個手冊頁後,退出並繼續搜索。

+0

我的系統使用小寫的k。但我通常使用apropos。 – 2009-04-22 13:16:36

+2

丹尼斯,我認爲小寫的k只是搜索標題,而不是全文。 – paxdiablo 2009-04-22 13:25:02

3

我很喜歡給我的提示着色,使它脫穎而出。關於這種事情的一篇有用的文章是here

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,簡單地把它要colorise命令之前(可以說diff):

grc diff foo.txt bar.txt 

而且你當然可以alias diff='grc diff'使diff colorised默認。

0

此演示bash腳本在大多數終端中使目錄變爲紅色 - 當然可以在Windows下的xterms和cygwin中使用。您可以通過使用轉義碼擺弄適應的顏色 - 谷歌爲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