Colours with Linux terminals <author>¿øÀúÀÚ:Thorbjn Ravn Andersen, <url url="mailto: ravn@dit.ou.dk" name="ravn@dit.ou.dk" > <date>ÀÛ¼ºÀÏ(¿øº»): 1996³â 04¿ù 27ÀÏ 16½Ã 56ºÐ 15ÃÊ <trans>¹ø¿ªÀÚ:Suck Joong.Hwang - Ȳ¼®Áß <url url="mailto: whitehsj@nownuri.net" name="whitehsj@nownuri.net" > <toc> <sect> ¼Ò °³<p> ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»µéÀº Ä÷¯¸¦ Áö¿øÇÏ´Â ls¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ»ö»óÀ» °íóº¸°í ½ÍÀ» ¶§µµ ÀÖÁö¸¸, ±×°Ô ±×¸® ½¬¿îÀÏÀÌ ¾Æ´Ï¾úÀ» °ÍÀÔ´Ï´Ù. ±×·¡¼­ º»¹® ¼­´Â Ä÷¯ ls¸¦ ºñ·ÔÇØ ¸®´ª½º Å͹̳ο¡¼­ÀÇ »ö»ó¼³Á¤ÀÇ ¿©·¯°¡Áö ¹æ¹ýÀ» ´Ù·ç¾ú ½À´Ï´Ù. À̹®¼­ÀÇ HTML(¹ø¿ªº»ÀÌ ¾Æ´Ô:¿ªÀÚÁÖ)¹öÀüÀº <<url url="http://www.dit.ou.dk/~ravn/colour-ls" name="www.dit.ou.dk/~ravn/colour-ls" >> ¿¡¼­ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼­´Â ½½·¢¿þ¾î 2.0.2¿¡¼­ ÄÃÆÄÀÏµÈ Ä¿³Î 1.1.54°ú Ä¿³Î ¼öÁ¤ºÎºÐÀº ½½·¢¿þ ¾î 2.2.0¿¡ Ä¿³Î 1.2.13À» »ç¿ëÇÏ¿´À¸¸ç, ½©·Î´Â Ç¥Áؽ©ÀÎ tcshÀÇ »ç¿ëÀ» ÀüÀç·Î ÇÏ¿´½À´Ï´Ù. </p> <sect> lsÀÇ »ö»ó ¼³Á¤Àº ¾î¶»°Ô Çϴ°¡?<p> ÀÌ ½© ½ºÅ©¸³Æ®(Àú¿¡°Ô bash¹öÁ¯À» º¸³»ÁֽŠºÐ²² ´ë´ÜÈ÷ °¨»çµå¸³´Ï´Ù.) ¸ðµç Ç¥ÁØ »ö»óÀ» Ãâ·ÂÇÕ´Ï´Ù. ¸¸¾à ¾Æ¹«·± »ö»óµµ ³ªÅ¸³ªÁö ¾Ê´Â ´Ù¸é µ¶ÀÚÀÇ ÄܼÖ(= Å͹̳Î:¿ªÀÚÁÖ)ÀÌ ANSI¸¦ Áö¿øÇÏÁö ¸øÇϱ⠶§¹®ÀÏ °Ì´Ï´Ù. <code> #!/bin/bash # ¾È½Ã Ä÷¯ Ãâ·Â! # esc="\033[" echo -e "\t 40\t 41\t 42\t 43\t 44 45\t46\t 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 º¸Åç ${esc}0m" line2="${line2}${esc}${back};${fore};1m ¹àÀº ${esc}0m" # ¿ªÀÚÁÖ : ^[[30;30m .or. ^[[30;30;1m <-- ¿¹ÀÓ done echo -e "$line1\n$line2" done </code> ¿ªÀÚ ÁÖ: µ¶ÀÚ°¡ ÀÌ ÆÄÀÏÀ» º¼¶§´Â esc="\033["À̶ó°í ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀÌ ¾Æ´Ï°í "^[["ÀÔ´Ï´Ù. ¿Ö Ʋ¸®°Ô ³ªÅ¸³ª´Â Áö´Â Á¤È®È÷ ¸ð¸£°ÚÁö¸¸ ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÆÀ» ¿À°¡¸é¼­ º¯°æµÈ °ÍÀ¸·Î »ý°¢µË´Ï´Ù. ÀÔ·ÂÇÒ¶§´Â "^[["¸¦ ±×³É ÀÔ·ÂÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó "ÄÁÆ®·Ñ-v-ESCÅ°-["ÀÔ´Ï ´Ù. ÀÌ °ÍÀº ½© Ä¿¸Çµå³ª vi ¿¡µðÅÍ¿¡¼­ ¾²´Â °ÍÀÌ°í À̸ƽº¿¡¼­´Â "C-q -ESCÅ°-["ÀÔ´Ï´Ù. À¯ÀÇ Çϼ¼¿ä. :) <code> Àü°æ»ö(±ÛÀÚ»ö)ÀÇ »ö»ó¹ø·Î´Â ¸®½ºÆ® ¿ÞÆí¿¡ ³ªÅ¸³ª°í, ¹è°æ»öÀº ¸Ç ²À´ë±â¿¡ ³ª Ÿ ³³´Ï´Ù.(ÇѸ¶µð·Î Ç¥Çü½ÄÀÔ´Ï´Ù:¿ªÀÚÁÖ) ¹àÀº ±ÛÀÚÀ» ¿øÇϽŴٸé ANSIÆĶó¹ÌÅÍ ¿¡ ";1m"À» µ¡ºÙÄ¡¸é µË´Ï´Ù. ¿ÏÀüÇÑ ANSIÁöÁ¤ ¼ø¼­´Â ´ÙÀ½°ú °°½À´Ï´Ù. ESC[30;40;1m <- ESC[ ´Â ^[[À» ¸»ÇÕ´Ï´Ù. À̽ºÄÉÀÌÇÁ ¹®ÀÚÀÔ´Ï´Ù.: ¿ªÀÚÁÖ </code> À¯ÀÇÁ¡: ÇöÀç·Î¼­´Â ¹è°æ»öÀ» ¹àÀº »öÀ» ÀÌ¿ëÇÒ ¼ö ¾ø½À´Ï´Ù, ±×·¡¼­ ³ë¶õ»ö(¹à Àº °¥»ö)°°Àº »öÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. Çϵå¿þ¾îÀÇ ÇÑ°èÀÔ´Ï´Ù. (Xterm¿¡¼­ÀÇ ½ÇÇà°á°ú¿Í´Â ´Ù¼Ò Â÷ÀÌ°¡ ÀÖ½À´Ï´Ù:¿ªÀÚÁÖ) </p> <sect>lsÀÇ »ö»ó¼³Á¤Àº ¾î¶»°Ô Çϴ°¡?<p> ÀϹÝÀûÀ¸·Î ½½·¢¿þ¾î´Â ´ÙÀ½ ÆÄÀÏÀ» º¸°í 'LS_COLORS'¶ó´Â ȯ°æº¯¼ö¸¦ »ý¼ºÇÕ´Ï ´Ù. $HOME/.dir_colors ÀϹÝÀûÀÎ ¼ºÁ¤°ªÀº ´ÙÀ½°ú °°À» °Ì´Ï´Ù. LS_COLORS=:no=00:fi=00:di=01:ln=01;36:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:.. Ç¥ÁØ ¼³Á¤Ä¡¿Í ´Ù¸£°Ô ¼³Á¤ÇÏ°í ½ÍÀ¸½Ã´Ù¸é, ÆÄÀÏ ³»¿ë(¿ª½Ã ANSIÁöÁ¤¹ýÀÔ´Ï´Ù: ¿ªÀÚÁÖ)À» ¼öÁ¤ÇÑ´ÙÀ½¿¡ eval 'dircolors -t' ¸¦ Ä¡¸é ȯ°æº¯¼ö¸¦ Àç»ý¼ºÇÕ´Ï´Ù. À¯ÀÇÁ¡: Ȥ½Ã ½½·¢¿þ¾î 2.2ÀÌÀüÀÇ ¹öÁ¯¿¡ ÀÖ´Â ls¸¦ ÀÌ¿ëÇϽðí ÀÖ´Ù¸é ¾÷±×·¡ À̵带 ±ÇÇÕ´Ï´Ù. ÀÌÀü¹öÀüÀº »ó´çÈ÷ ¹ö±×°¡ ¸¹½À´Ï´Ù. </p> <sect> ±×¿ÜÀÇ »ö»ó¼³Á¤Àº ¾î¶»°Ô Çϴ°¡? <p> ¿©·¯ºÐÀÌ Å͹̳ÎÀÇ »ö»óÀ» ¶Ç´Ù¸¥ ¹æ¹ýÀ¸·Î ±âº»°ªÀ» °íÄ¡°í ½ÍÀ¸½Ã´Ù¸é Å͹̳Πµå¶óÀ̹ö Äڵ带 ÀÌÇØÇÒ°í ¼öÁ¤ÇÒÁÙ ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ÀÌ ¹æ¹ý¿¡´ëÇÑ Ç¥ÁØÀº Á¸ÀçÇÏ Áö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ ¸®´ª½ºÀÇ °æ¿ì 'setterm'À̶ó´Â ÇÁ·Î±×·¥ÀÌ ÀÖ¾î ±×ÀÏÀº ¾Ê Çصµ µË´Ï´Ù. ´ÙÀ½°ú °°ÀÌ »ö»óÀÇ ¼³Á¤À» ÇÕ´Ï´Ù. <verb> setterm -foreground black -background white -store Àü°æ»ö ¹è°æ»ö </verb> ¿©±â¼­ -store¶ó´Â ÆĶó¹ÌÅÍ´Â ÄܼÖÀÇ ±âº»ÀûÀÎ ¼³Á¤°ªÀ» ±×·¡·Î ÀÌ¿ëÇÑ´Ù°í set term¿¡°Ô ¾Ë¸®´Â °ÍÀÔ´Ï´Ù. ±×·¯¸é settermÀÌ ¾Ë¾Æ¼­ ÇöÀçÀÇ Å͹̳ο¡°Ô¼­ ÃæºÐÇÑ Á¤º¸¸¦ ¾Ë¾Æ ³À´Ï´Ù.(TERMCAPÀ̶ó´Â ȯ°æº¯¼ö¸¦ ÂüÁ¶ÇÏ´Â °ÍÀÔ´Ï´Ù). ¸¸¾à ¿îÀÌ ³ª»Ú´Ù¸é, ÀÜÀÎÇÏ°Ô ÀÏÀÏÀÌ ¼­¼úÇØÁÖ¾î¾ß °ÚÁÒ?(exportÇÏ°í TERMCAPÀ̶ó´Â ȯ°æ º¯¼ö¸¦ º¸½Ã¸é ÀÌÇØ°¡ °¡½Ç°Ì´Ï´Ù.:¿ªÀÚÁÖ) </p> <sect1> Xterm <p> ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÕ´Ï´Ù. xterm -fg white -bg blue4 color_xterm -fg white -bg blue4 ¿©±â¼­ 'color_xterm'Àº Ä÷¯ ls¸¦ Áö¿øÇÏ´Â xtermÀÇ ¹öÁ¯ÀÔ´Ï´Ù. </p> <sect1>°¡»ó ÄܼÖ<p> µ¶ÀÚµéÁß¿¡¼­´Â ÇѹøÂë Ä¿³ÎÀ» ¼öÁ¤Çغ» °æÇèÀÌ ÀÖ´Â ºÐµµ ÀÖÀ» °ÍÀÔ´Ï´Ù. °¡»ó ÄܼÖÀÌ ½ÇÇà½Ã ±âº»ÀûÀ¸·Î ANSI À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ Áö¿øÇÏ´Â °ÍÀº ¹°·ÐÀÌÁö¸¸, Àú ´Â µ¶ÀÚ°¡ ÇѹøÂë Ä¿³Î ÄÄÆÄÀÏÀ» Çغ¸½ÅºÐÀ̶ó¸é Ä¿³Î¼öÁ¤À» °­·ÂÇÏ°Ô(½Ç·Â Çâ»ó? )±ÇÇÕ´Ï´Ù. <verb> /usr/src/linux/drivers/char/console.cÀÇ ¾à 1800ÁÙÀÇ ³»¿ëÀÔ´Ï´Ù. À̺κÐÀ» ¼ö Á¤ÇÏ¼Å¾ß ÇÕ´Ï´Ù. def_color = 0x07; /* white */ ulcolor = 0x0f; /* bold white*/ halfcolor = 0x08; /* grey */ ¸¦ ÀÌ·±½ÄÀ¸·Î °í󺸼¼¿ä. def_color = 0x17; /* white */ ulcolor = 0x1f; /* bold white 7+8*/ halfcolor = 0x18; /* grey */ ÀÌ 16Áø¼ö´Â ºñµð¿À Ä«µå°¡ ÀÌ¿ëÇÏ´Â ¼Ó¼º ÄÚµåÀÔ´Ï´Ù. ù¹ø° Çʵå("1"ÀÚ°¡ ÀÖ´Â ÀÚ¸®¼ö)´Â ¹è°æ»öÀÌ°í ±×µÚÀÇ Çʵå´Â Àü°æ»öÀÔ´Ï´Ù. »ö»ó¹øÈ£´Â °ËÁ¤»ö 0 û »ö 1 ³ì »ö 2 û·Ï»ö 3 ºÓÀº»ö 4 ÀÚÁÖ»ö 5 °¥»ö/³ë¶õ»ö 6 Èù »ö 7 </verb> ÀÔ´Ï´Ù. ÀÌ °ª¿¡´Ù 8À» ´õÇÏ¸é ¹àÀº »öÀÌ µË´Ï´Ù. À¯ÀÇÇÒÁ¡Àº ¹è°æ»ö¿¡ 8À» ´õÇÏ ¸é ±ôºýÀÌ´Â ±ÛÀÚ°¡ µÇ°Å³ª, È帰»öÀÇ ¹è°æ»öÀÌ µË´Ï´Ù. (<url url="mailto: sjlam1@mda023.cc.monash.edu.au" name="sjlam1@mda023.cc.monash.edu.au" > ¾¾·Î ºÎÅÍ). ÀÌÁ¦ µ¶ÀÚÀÇ °¡»óÄܼÖÀº »õ·Î¿î ±âº»»ö»óÀ» »ç¿ëÇÏ°Ô µÉ°ÍÀÔ´Ï´Ù. µð½ºÇ÷¡À̸¶ ´Ù ºñÇ¥ÁØ ¾È½Ã¸¦ ±âº»À¸·Î Çؼ­ ¸»ÀÔ´Ï´Ù.(Ä¿³Î ¼Ò½º¿¡¼­ ã¾Æº¸¼¼¿ä.) ESC [ 8 ] ÀÌ ¾È½Ã¹®ÀÚ¸¦ ¾²¸é ÇöÀçÀÇ Àü°æ-¹è°æ»öÀ» ±âº»°ªÀ¸·Î ÁöÁ¤ÇÏ°Ô µË´Ï´Ù. ESC¹®ÀÚ ·Î ¼Ó¼ºÀ» º¯È¯ÇÑÈÄ¿¡ »ç¿ëÇϸé ÇöÀçÀÇ Èù»ö/°ËÀº»öÀÇ »ö»ó´ë½Å »ç¿ëÇÏ°Ô ±× »ö»ó À» »ç¿ëÇÏ°Ô µË´Ï´Ù. ºÎÆÃÇÒ¶§³ª¿À´Â ¸Å¼¼Áö¿¡ À̹®ÀÚµéÀ» ÀÌ¿ëÇÏ¸é ¸ÚÀÖ°ÚÁÒ? </p> <sect2> /etc/issue <p> ºÎÆýÃÈÄ »ç¿ëÀÚ¸í°ú ºñ¹Ð¹øÈ£¸¦ ÀԷ¹ÞÀ» ¶§ »ó´Ü "Welcome to Linux xx.yy"¶ó ´Â ¹®±¸¸¦ º¸½ÅÀûÀÌ ÀÖÀ» °Ì´Ï´Ù. ¹Ù·Î ÀÌÆÄÀÏÀÇ ³»¿ëÀ» Ãâ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù. /etc/rc.d/rc.S ¶ó´Â ½ºÅ©¸³Æ®°¡ ºÎÆýà ÀÌÆÄÀÏÀ» »ý¼ºÇÏ°Ô µË´Ï´Ù. ±×·¯´Ï±î ÀÌ ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ¾à 75ÁÙ Á¤µµ¿¡ ÀÌ·¯ÇÑ ³»¿ëÀÌ ÀÖÀ» °Ì´Ï´Ù. echo ""> /etc/issue #/etc/issue ÆÄÀÏ ³»¿ëÀ» Áö¿ì´Â °ÍÀÔ´Ï´Ù. echo Welocome to Linux '/bin/uname -a | /bin/cut -d\ -f3'. >> /etc/issue # -----------------> À̹®Àå°ú Ä¿³Î ¹öÀüÀ» ÇÕó¼­ issue¿¡ ³Ö½À´Ï´Ù. ÀÌ °ÍÀ» ÀÌ·±½ÄÀ¸·Î °íħ´Ï´Ù. ESCAPE="" echo "${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J"> /etc/issue ÀÌ·¸°Ô °íÄ¡¼Ì´Ù¸é ÀçºÎÆà Çϼ¼¿ä. ±×·Á¸é ±âº»Å͹̳Π»ö»óÀ» (¹é/ûÀ¸·Î)ÁöÁ¤ÇÑ ÈÄ È­¸éÀ» Áö¿ö¼­ È­¸éÀüäÀÇ »ö»óÀÌ ºÁ²ð °ÍÀÔ´Ï´Ù. "^["¸¦ ÀÔ·ÂÇÒ¶§ ¾î¶»°Ô ÇØ ¾ß ÇÏ´ÂÁö ¾Æ½Ã°ÚÁÒ? À¯ÀÇÇϼ¼¿ä. </p> <sect2> /etc/profile À̳ª .profileÀÇ ¿¹ <p> ¿ªÀÚ ÁÖ: Âü°í·Î /etc/profile À̳ª .profileÀº bash,tcshµîÀÇ ½©ÀÌ ±âµ¿µÉ¶§ »ç ¿ëÇÏ´Â ¹èÄ¡ÆÄÀÏÀÔ´Ï´Ù. if ( "$TERM" == "console" ) then echo "[8]" #ÀÌ·¸°Ô Çϰųª ¾Æ·¡¿Í °°ÀÌ Çϼ¼¿ä. setterm -foreground white -background blue -store endif </p> <sect1> ¿ø°Ý Á¢¼Ó½Ã<p> À§¿¡¼­ º»¹Ù¿Í °°ÀÌ setterm À» ÀÌ¿ëÇÒÁÙ ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ¿ø°Ý Á¢¼Ó½Ã ¿ø°Ý¸Ó½Å Àº µ¶ÀÚÀÇ Å͹̳ο¡ ÃæºÐÇÑ Á¤º¸¸¦ ¿ä±¸ÇÒ °ÍÀÔ´Ï´Ù. ±×¸®°í ±× Å͹̳Π¿¡¹Ä·¹ÀÌ ÅÍ´Â Ä÷¯ ·Î±ä(Á¢¼Ó)À» Áö¿øÇÒ°Ô µÉ°ÍÀÔ´Ï´Ù. ¸¸¾à ÀÌ°Í¿¡´ëÇÑ ¼º°øÀûÀÎ »ç·Ê¸¦ Á¢ÇÏ°Ô µÇ¸é ÀúÀÇ ¾Ë·Á ÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù </p> <sect> ¼ÒÇÁÆ®¿þ¾î<p> ÀÌ ¹®¼­¿¡¼­ ´Ù·é ¸ðµç ³»¿ëµéÀº ½½·¢¿þ¾î¸¦ ¼³Ä¡Çß´Ù´Â °¡Á¤ÇÏ¿¡ ¾²¿©Á³½À´Ï´Ù. µ¶ÀÚ°¡ ±×¿ÜÀÇ ´Ù¸¥ °Í(e.g. a Sun running Xµî)À» °¡Áö°í ÀÖ´Ù¸é Á÷Á¢ ±¸Çؼ­ ÄÄ ÆÄÀÏ ÇØ¾ß µÉÁöµµ ¸ð¸¨´Ï´Ù. Ä÷¯ xterm ¹öÁ¯Àº Ç¥ÁØ xterm¼Ò½º ÆÐÄ¡¿Í ÇÔ²² ±âº»ÀûÀ¸·Î X11R6 site¿¡ ÀÖ½À´Ï ´Ù. <url url="ftp://ftp.denet.dk/pub/X11/contrib/utilities/color-xterm-R6p15-pacth.gz" name="ftp.denet.dk/pub/X11/contrib/utilities/color-xterm-R6p15-pacth.gz" > ±¸¹öÁ¯ÀÇ XÀ©µµ¿ì ½Ã½ºÅÆÀ» »ç¿ëÇÏ°í °è½Ã´Ù¸é °ü·Ã¹®¼­¸¦ ÀÐ¾î º¸¼Å¾ß ÇÒ°ÍÀÔ´Ï ´Ù. Âü°í: Àú´Â ½ÃµµÇغ¸Áö ¾Ê¾Ò½À´Ï´Ù. Ä÷¯ ls´Â ¸î¸î ¹Ì·¯ »çÀÌÆ®¿¡¼­µµ ±¸ÇÒ¼ö ÀÖ½À´Ï´Ù. <url url="ftp://ftp.denet.dk/pub/gnu/fileutils-3.12.tar.gz" name="ftp.denet.dk/pub/gnu/fileutils-3.12.tar.gz" > <url url=" ftp://ftp.funet.fi/pub/Linux/sunsite/utils/file/color-ls-3.12.0.3.patch.gz" name="ftp.funet.fi/pub/Linux/sunsite/utils/file/color-ls-3.12.0.3.patch.gz" > Àú´Â color-ls ¼Ò½º¸¦ ¼Ö¶ó¸®½º,SunOS,Irix¿¡¼­ ¼º°øÀûÀ¸·Î ÄÄÆÄÀÏÇß½À´Ï´Ù. ÀÌ ÆÐÄ¡´Â ÃֽŹöÁ¯ÀÇ ¼Ò½º¸¦ ¿ä±¸ÇÏ´Ï ¼Ò½º¸¸ Àç´ë·Î µÇ¾ú´Ù¸é ½±°Ô ÆÐÄ¡µÉ °Í ÀÔ´Ï´Ù. Àú¿¡°Ô ÀÌ ¹®¼­¿¡´ëÇÑ ÀÇ°ßÀ» º¸³»ÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù. ÀúÀÇ E-mail ÁÖ¼Ò´Â <<url url="mailto: ravn@dit.ou.dk" name="ravn@dit.ou.dk">> ÀÔ´Ï´Ù. </p> </article>