








			   Linux ׺ݾUm

		 @: Thorbjrn Ravn Andersen, ravn@dit.ou.dk

		       Ķ: Chou-Kai Wang, stylon@ms2.hinet.net

			      v1.4, 7 August 1997



				   Abstract

     Mj Linux
     o檩@ӥΨӧؿeCXӡAӥBiHQαmӼWjXbıWĪG
     'ls'OALnL]wXANoOeơC
     o󻡩F]w@ǤwgbA Linux
     o檩nAӹFoӥئanXؤPkA
     ٦bإiH@Ǧbj Unix
     س|ΨAOo``Qb Slackware  RedHat Linux تnC
     o HTML ]iHbڪlɮ׳o
     <URL:http://www.mip.ou.dk/~ravn/colour-ls> 䪺C



1.  ²

oǦ~ӱm⪺ܾwg۷MAϥΪ̤]}lϥΤ@ǥHmӪܨҦpG{yتOdrAάOrAӵϥΪ̤@ǵıW^XC

۱q Linux rҦx䴩mAӪ GNU ls
]ܧ֪Qק令䴩Xm⪺TӥBQb Slackware 2.0 ءC
oǧ}ӪɮפwgQXзǪ GNU ls ̡A{b]ӬOҦs
Linux o檩@FC

{boO̪쪺gF\hsӨӪA]AF@ xterm
M pQκɨӧs֤ߪTC

o̪Tb Redhat 4.1 LAӥBDnObSlackware 2.0.2
ή֤ߪ 1.1.54 طjӨӪC ֤ߪɪTOb slackware
2.2.0A1.2.13 ֤ߡAåBH tcsh w] shellبoA ӫӤ]b
2.0.27 ֤LCpGAϥΨ䥦]wάO unix
Aڷ|ܷPEAiDڧA@~tΤΪA ٦O_䴩m⪺ܡC


2.  ֳtJGSh@ߪŪ

pGA s
LinuxAAϥΪ̥ؿUoɮק@oǭקAUAnJɭԴN|ͮĤFC







Linux ׺ݾUm						      1





Linux ׺ݾUm						      2



     ~/.bashrc:
	 alias ls="ls --color"

     ~/.cshrc:
	 alias ls 'ls --color'



o˴NnաI

A]\ٷ|Qn@G``eval `dircolors $HOME/.colourrc`''A
ӳ]wAۤvQnCCoɮץiH ``dircolors -p >$HOME/.colourrc''
ӻsyXӡAӥBح\hѤKA]wC


3.  o˴NnF?

AݭnDAϥΪ ls OOiHABzmXCb Linux
rҦxոլݳoӫO(b xterm ؤ]iH):

     % ls --color

(oت % O shell ܲŸ):

pGAݨFܧA ls ౵oӿﶵ~TAAӦw˷s GNU
fileutils nCpGAϥΪo檩SѷsɯųnANq GNU
MgxooӳnåBqlXwˡC

pGAèSݨ~TAAϥΪ ls
KiHoӿﶵCܤA@Ǧb Slackware (䥦o檩]i)
تOΪCb Redhat 4.1 ح 3.13  ls NSDC

     % ls --version
     ls - GNU fileutils-3.13

pGAb Linux rҦ׺ݾذ ``ls --
color''A򥦪XӨ̷ӨtΪw]ȦӦAmAӥBA{biH}lMwOOݭnܥ󪺳]wC

pGAb xterm ذWL{A]\A٬OSkݨXܦmCN ls
@ˡAӪ xterm ä䴩ε{mXAӸs䴩CpGA
xterm 䴩mAаѦҳoӤ󪺵s
xtermAPɧA]unrҦåB~UBJC


4.  CiHܩO?

U shell ROZ(P³\h bash
HڪH)ܥX{bϥΪDx䴩UCզXCpGSCX{AADxN䴩
ANSI CܡC













Linux ׺ݾUm						      3



     #!/bin/bash
     #  ANSI m
     #
     esc="\033["
     echo -n " _ _ _ _ _40 _ _ _ 41_ _ _ _42 _ _ _ 43"
     echo "_ _ _ 44_ _ _ _45 _ _ _ 46_ _ _ _47 _"
     for fore in 30 31 32 33 34 35 36 37; do
       line1="$fore  "
       line2="	  "
       for back in 40 41 42 43 44 45 46 47; do
	 line1="${line1}${esc}${back};${fore}m Normal  ${esc}0m"
	 line2="${line2}${esc}${back};${fore};1m Bold	 ${esc}0m"
       done
       echo -e "$line1\n$line2"
     done

eC⸹XOb䨺@ơAIhObWCpGAn骺rMG״NbѼإ[@
"1"AҥHeOզӭIOŦNF "37;44;1"CӪ ANSI CܧǦCNO

     ESC [ 3 7 ; 4 4 ; 1 m

 C

:
IiHOGסAҥH(GתĦ)uΨӧ@eCoOwWC

     CNX:
	     0 - ¦	  4 - Ŧ	     3# OIC
	  1 -      5 - 	  4# OeC
	  2 -      6 - C
	  3 -      7 - զ 	  ;1 OMG


5.  p]w ls mX

pGAQnק ls wзCAAݭnΤUObA HOME
ؿUsyo@ɮ

      cd ; dircolors -p > .coloursrc

bAs觹oӵѪܸԲӪɮץHAAݭn⥦ŪiAܼ LS_COLORS
ءAq`Oo˧@

     eval `dircolors .colourrc`


MAneo@iA .bashrc  .cshrc  .tcshrc (̷ӧAϥΪ shell
өw)ءCԲӪΪkЬ dircolors(1) ϥλC


6.  pܨtΪw]: eզӭIO¦

AݭniDA׺ݾXʵ{AQnt@ӹw]ȡCnp@èS@ӼзǪkALpGAO
Linux ܡAA setterm oӵ{iHΡC








Linux ׺ݾUm						      4



"setterm" ϥβ׺ݾƮwتƨӳ]wݩʡCnݩʪܭno˧@

     setterm -foreground black -background white -store

"-store" ѼƧ{bҧ@ܳ]ww]ȡCoݭnA{bϥΪ׺ݾ(b
TERM ܼ)b termcap ƮwئԲӪCpG setterm
]Yئ]ॿ`u@AA٦䥦ܡC

6.1  Xterm

Anܤ֤@ؤUC xtermAӥBn䴩mC

     xterm -fg white -bg blue4
     color_xterm -fg white -bg blue4
     color-xterm -fg white -bg blue4
     nxterm -fg white -bg blue4

oت 'color_xterm' 䴩m⪩ 'ls'CoتCܬOҧ SGI
WϥΪCC

6.2  Dx

A]iHק֤ߡAo˴NiH@ҥöhαXӧܵDxw]ȡCpGAۤvsĶ֤ߪܡAګĳQ
kernel ɡC

֤ߪlXOb /usr/src/linux/drivers/char/console.c Ajb 1940
AoOAӭק諸a

	  def_color	  = 0x07;   /* white */
	  ulcolor	 = 0x0f;   /* bold white */
	  halfcolor	  = 0x08;   /* grey */



	  def_color	  = 0x17;   /* white */
	  ulcolor	 = 0x1f;   /* bold white */
	  halfcolor	  = 0x18;   /* grey */

o䪺QiƦrOܥdΪ: ̥䪺줸(WdҪ "1")OI ;
̥k䪺줸OeC0 = ¦A1 = ŦA2 = A3 = C,  4 = , 5 =
A6 = Ħ/A7 = զCƦr[ 8
iHo찪GתCCbjpUAGתI ==
{{r[WqIC  sjlam1@mda023.cc.monash.edu.au1  Ҵ

A]iHϥΤU ANSI
XѤ@ӰɴDxw]ȡC(b֤߭lXا쪺)

	  ESC [ 8 ]

oӱXw]ȳ]ثeeέICCM᭫]ݩʪX(ESC [
m)ow]ȰWNN¥զ⦨ϥΤCC

____________________

1. <URL:mailto:sjlam1@mda023.cc.monash.edu.au>







Linux ׺ݾUm						      5



CA}ɫJAݭnAoǦreDxC̷ӧA Linux
Dγ~PAnXɮץiHFoӥتC

6.2.1  /etc/issue

b Slackware سoNO "Welcome to Linux xx.yy"
TҦbɮסApGADOӤHϥΪܡAqoɮפUO(
telnet ݵnJϥΨtΪHNi঳IQ)C
oɮצbC}ɫJ|QsyXӡAӪehQл\AҥHAݭnק}ɮ(b
Slackware جO /etc/rc.d/rc.SARedhatجO /etc/rc.d/rc.local)حUCX:

       echo ""> /etc/issue
       echo Welcome to Linux `/bin/uname -a | /bin/cut -d\  -f3`. >> /etc/issue


令

       ESCAPE="boةJ ESC X"
       echo "${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J"> /etc/issue
       echo Welcome to Linux `/bin/uname -a | /bin/cut -d\  -f3`. >> /etc/issue

oتX|CkB]wC(boتeOզӭIOŦ)Boӳ]ws_ӨåBùW䥦MC
oتܷ|bU}ɥͮġCOѤFb emacs nJ ESC rn C-q Ӧb
vi حn control-vA]MHW{ sh äF /033 oإΪkC

6.2.2  /etc/profile  .profile

       if [ "$TERM" = "console" ]; then
	   echo "\033[37;44m\033[8]" #
     # Ψϥ settermC
	   setterm -foreground white -background blue -store
       fi

6.2.3  /etc/login  .login

       if ( "$TERM" == "console" ) then
	 echo "\033[37;44m\033[8]"
     # Ψϥ settermC
	   setterm -foreground white -background blue -store
       endif

[ Ķ̪`: Linux DxU $TERM ܼƤwgO "linux" ӤO "console" F ]

6.3  ݵnJ

AӥiHΤWܽdL setterm
{CMAݪݭno쨬TӾާ@A׺ݾAӥBA׺ݾ{n䴩mC
bڪgب䥦xW̦n vt100 ׺ݾ{UCX:

    MS-DOS:	     MS-Kermit (KO, O Microsoft ~)

    Windows 95/NT:  Kermit/95 (@ɳn)










Linux ׺ݾUm						      6



    OS/2:	     Kermit/95 (@ɳn)C Ъ`NзǪ telnet
     䴩mӥBiHbaݳ]wC

 kermit Ӹ`Ь <URL:http://www.columbia.edu/kermit/>


7.  n

HWҦΪk]AϥΪO
GNU/LinuxCpGAOϥΨ䥦@~(pO X  Sun
u@)A٬OiHåBۤvsĶoǳnC

m⪩ xterm OqзǪ xterm lXӵoiӪAӥΨӭקз xterm
ɥiHq@ X11R6 xoC ť R6.3  xterm
䴩mALڨSչLC

     ftp://ftp.denet.dk/pub/X11/contrib/utilities/color-xterm-R6pl5-patch.gz


pGAOª X ܽЬݤC`N: ڦۤvèSչL!

'ls' Ob GNU  fileutils nئӧAiHq prep.mit.edu
Ψ䥦MgxCЮ̷s 3.13 C

     ftp://ftp.denet.dk/pub/gnu/fileutils-3.XX.tar.gz

ڦۤvgb SolarisASunOSAIrix W\sĶL color-lsC

ګwog峹^Cڪqlla}O ravn@dit.ou.dk2

--

Thorbjrn Ravn Andersen



















____________________

2. <URL:mailto:ravn@dit.ou.dk>







Linux ׺ݾUm						      7





































































				   CONTENTS



1. ² ..................................................................... 1

2. ֳtJGSh@ߪŪ ......................................... 1

3. o˴NnF? ............................................................ 2

4. CiHܩO? .................................................... 2

5. p]w ls mX ................................................... 3

6. pܨtΪw]: eզӭIO¦ ............................... 3
   6.1 Xterm ................................................................ 4
   6.2 Dx ........................................................... 4
   6.3 ݵnJ ............................................................. 5

7. n ..................................................................... 6




































				       i


