
                           Linux ׺ݾUm
                                       
@: Thorbjo/rn Ravn Andersen, ravn@dit.ou.dk
Ķ: Chou-Kai Wang, stylon@ms2.hinet.net

   v1.4, 7 August 1997
     _________________________________________________________________
   
   Mj Linux o檩@ӥΨӧؿeCXӡAӥBiHQ
   αmӼWjXbıWĪG'ls'OALnL]wXANoO
   eơCo󻡩F]w@ǤwgbA Linux o檩nA
   ӹFoӥئanXؤPkA٦bإiH@Ǧbj
   Unix س|ΨAOo``Qb Slackware  RedHat Linux تn
   Co HTML ]iHbڪlɮ׳o
   [1]http://www.mip.ou.dk/~ravn/colour-ls 䪺C
     _________________________________________________________________
   
1. ²

2. ֳtJGSh@ߪŪ

3. o˴NnF?

4. CiHܩO?

5. p]w ls mX

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

     * 6.1 Xterm
     * 6.2 Dx
     * 6.3 ݵnJ
       
7. n
     _________________________________________________________________
   
1. ²

   oǦ~ӱm⪺ܾwg۷MAϥΪ̤]}lϥΤ@ǥHmӪܨҦp
   G{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ǭקAUAn
   JɭԴN|ͮĤFC
   
~/.bashrc:
    alias ls="ls --color"

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

   o˴NnաI
   
   A]\ٷ|Qn@G``eval `dircolors $HOME/.colourrc`''A ӳ]wAۤvQ
   nCCoɮץ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ɯųnAN
   q 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䴩C
   pGA xterm 䴩mAаѦҳoӤ󪺵s
   xtermAPɧA]unrҦåB~UBJC
   
4. CiHܩO?

   U shell ROZ(P³\h bash HڪH)ܥX{bϥΪD
   x䴩UCզXCpGSCX{AADxN䴩
   ANSI CܡC
   
#!/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骺rM
   G״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Ψӧ@eCoOw
   WC
   
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 ؿU
   syo@ɮ
   
 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
   
   "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תCCb
   jpUAGתI == {{r[WqIC 
   [2]sjlam1@mda023.cc.monash.edu.au Ҵ
   
   A]iHϥΤU ANSI XѤ@ӰɴDxw]ȡC(b֤߭
   lXا쪺)
   
        ESC [ 8 ]

   oӱXw]ȳ]ثeeέICCM᭫]ݩʪX(ESC [
   m)ow]ȰWNN¥զ⦨ϥΤCC
   
   CA}ɫJAݭnAoǦreDxC̷ӧA Linux D
   ~PAnXɮץiHFoӥتC
   
  /etc/issue
  
   b Slackware سoNO "Welcome to Linux xx.yy" TҦbɮסApGA
   DOӤ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Ŧ)B
   oӳ]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
   
  /etc/profile  .profile
  
  if [ "$TERM" = "console" ]; then
      echo "\033[37;44m\033[8]" #
# Ψϥ settermC
      setterm -foreground white -background blue -store
  fi

  /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)
     * OS/2: Kermit/95 (@ɳn)C Ъ`NзǪ telnet 䴩mӥBiHb
       aݳ]wC
       
    kermit Ӹ`Ь [3]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 Ψ䥦M
   gxCЮ̷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 [4]ravn@dit.ou.dk
   
   --
   
   Thorbjo/rn Ravn Andersen

References

   1. http://www.mip.ou.dk/~ravn/colour-ls
   2. mailto:sjlam1@mda023.cc.monash.edu.au
   3. http://www.columbia.edu/kermit/
   4. mailto:ravn@dit.ou.dk
