1.»ç¿ëÀÚ¿Í ±×·ì
    chown, chgrp

      chown ¸í·É¾î´Â ÆÄÀÏÀÇ ¼ÒÀ¯±ÇÀ» ¹Ù²ãÁÝ´Ï´Ù.
      root°¡ ƯÁ¤ »ç¿ëÀÚ°¡ ¼ÒÀ¯ÇÑ ÆÄÀÏÀ» ´Ù¸¥ »ç¿ëÀÚ¿ëÀ¸·Î ¹Ù²Ù·Á°í ÇÒ ¶§ À¯¿ëÇÏ°Ô ¾²ÀÔ´Ï´Ù.

      ÇÏÁö¸¸, ÀÏ¹Ý »ç¿ëÀÚ´Â ÀÚ½ÅÀÌ ¼ÒÀ¯ÇÑ ÆÄÀÏÁ¶Â÷µµ ¼ÒÀ¯±ÇÀ» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù.
      root#
      chown bozo *.txt

      chgrp ¸í·É¾î´Â ÆÄÀÏÀÇ ±×·ì ¼ÒÀ¯±ÇÀ» ¹Ù²ãÁÝ´Ï´Ù.
      ÀÌ ¸í·É¾î¸¦ ¾²·Á¸é ±× ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚÀÌ°í ¹Ù²Ù·Á´Â ±×·ìÀÇ ¸â¹ö¿©¾ß ÇÕ´Ï´Ù(ȤÀº rootÀ̰ųª).
      chgrp --recursive dunderheads *.data
      # $PWD µð·ºÅ丮ÀÇ ¸ðµç ÇÏÀ§ µð·ºÅ丮("recursive"¿¡ ÀÇÇØ)ÀÇ
      # ¸ðµç "*.data" ÆÄÀϵéÀº "dunderheads" ±×·ìÀÌ ±× ¼ÒÀ¯±ÇÀ» °®½À´Ï´Ù.
    useradd, userdel

      °ü¸®ÀÚ¿ë ¸í·É¾îÀÎ useradd´Â ½Ã½ºÅÛ¿¡ »ç¿ëÀÚ °èÁ¤À» Ãß°¡ÇØ ÁÖ°í
      ±× »ç¿ëÀÚ¿ëÀ¸·Î ÁöÁ¤µÈ Ȩ µð·ºÅ丮¸¦ ¸¸µé¾î ÁÝ´Ï´Ù.

      useradd¿Í ½ÖÀ» ÀÌ·ç´Â userdel´Â ½Ã½ºÅÛ¿¡¼­ »ç¿ëÀÚ °èÁ¤À» »èÁ¦ÇØ ÁÖ°í
      ÇØ´ç ÆÄÀϵ鵵 »èÁ¦ÇØ ÁÝ´Ï´Ù.

      Âü°í: adduser ¸í·É¾î´Â useraddÀÇ µ¿ÀǾî·Î¼­, º¸Åë useradd¸¦ °¡¸£Å°´Â ½Éº¼¸¯ ¸µÅ© ÆÄÀÏÀÔ´Ï´Ù.
    id

      id ¸í·É¾î´Â ÇöÀç »ç¿ëÀÚÀÇ ½ÇÁ¦ ID¿Í À¯È¿ »ç¿ëÀÚ ID, ±×·ì ID¸¦ º¸¿©ÁÝ´Ï´Ù. ³»ºÎ bash º¯¼öÀÎ $UID, $EUID, $GROUPS¿Í ¦À» ÀÌ·ì´Ï´Ù.

      bash$ id
      uid=501(bozo) gid=501(bozo) groups=501(bozo),22(cdrom),80(cdwriter),81(audio)
      bash$ echo $UID
      501
    who

      ½Ã½ºÅÛ¿¡ ÇöÀç ·Î±×ÀÎÇØ ÀÖ´Â ¸ðµç »ç¿ëÀÚ¸¦ º¸¿©ÁÝ´Ï´Ù.

      bash$ who
      bozo tty1 Apr 27 17:45
      bozo pts/0 Apr 27 17:46
      bozo pts/1 Apr 27 17:47
      bozo pts/2 Apr 27 17:49

      - -mÀ» ÁÖ¸é ¿ÀÁ÷ ÇöÀç »ç¿ëÀÚ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¸À» º¸¿©ÁÝ´Ï´Ù. who am i³ª who The Manó·³ who¿¡ ¾Æ¹« ÀÎÀÚ³ª µÎ °³ ³Ñ°ÜÁÖ¸é who -m À̶ó°í ÇÑ °Í°ú °°½À´Ï´Ù.
      bash$ who -m
      localhost.localdomain!bozo pts/2 Apr 27 17:49

      whoami´Â who -m °ú ºñ½ÁÇÏÁö¸¸ »ç¿ëÀÚ À̸§¸¸ º¸¿©ÁÝ´Ï´Ù.
      bash$ whoami
      bozo

    w

      ·Î±×ÀÎ µÇ¾î ÀÖ´Â »ç¿ëÀÚ¿Í ±× »ç¿ëÀÚ¿Í °ü·ÃµÈ ¸ðµç ÇÁ·Î¼¼½º¸¦ º¸¿© ÁÝ´Ï´Ù. ÀÌ´Â whoÀÇ È®Àå ¹öÀüÀε¥, wÀÇ Ãâ·Â¿¡ grepÀ¸·Î ÆÄÀÌÇÁ¸¦ °É¾î¼­ ƯÁ¤ÇÑ »ç¿ëÀÚ³ª ÇÁ·Î¼¼½º¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.

      bash$ w | grep startx
      bozo tty1 - 4:22pm 6:41 4.47s 0.45s startx
    logname

      ÇöÀç »ç¿ëÀÚÀÇ ·Î±×ÀÎ À̸§À» /var/run/utmp¿¡¼­ ã¾Æ¼­ º¸¿©ÁÝ´Ï´Ù. À§¿¡¼­ ¼³¸íÇÑ whoami¿Í °ÅÀÇ µ¿ÀÏÇÑ ¸í·É¾îÀÔ´Ï´Ù.

      bash$ logname
      bozo

      bash$ whoami
      bozo

      ±×·¸Áö¸¸...
      bash$ su
      Password: ......

      bash# whoami
      root
      bash# logname
      bozo

    su

      ´Ù¸¥ »ç¿ëÀÚ(substitute user)·Î ÇÁ·Î±×·¥À̳ª ½ºÅ©¸³Æ®¸¦ ½ÇÇà ½Ãŵ´Ï´Ù.
      rjones¶õ »ç¿ëÀÚ·Î ½©À» »õ·Ó°Ô ½ÃÀÛÇÏ°í ½ÍÀ¸¸é su rjones¶ó°í ÇÏ¸é µË´Ï´Ù. ¿É¼Ç ¾øÀÌ su¸¸ ½ÇÇà½ÃÅ°¸é ±âº»ÀûÀ¸·Î root ·Î ¹Þ¾ÆµéÀÔ´Ï´Ù.
      ¿¹ A-10¸¦ Âü°íÇϼ¼¿ä.
    users

      ·Î±×ÀÎ ÇÏ°í ÀÖ´Â ¸ðµç »ç¿ëÀÚ¸¦ º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â who -q ¿Í °ÅÀÇ ºñ½ÁÇÑ ¸í·É¾îÀÔ´Ï´Ù.
    ac

      »ç¿ëÀÚ°¡ ·Î±×ÀÎ ÇØ ÀÖ´ø ½Ã°£À» /var/log/wtmp ¿¡¼­ Àо º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â GNU °èÁ¤ À¯Æ¿¸®Æ¼(accounting utility) Áß ÇϳªÀÔ´Ï´Ù.
      bash$ ac
      total 68.08
    last

      »ç¿ëÀÚ°¡ ¸¶Áö¸·À¸·Î ·Î±×ÀÎ ÇÑ ½Ã°£À» /var/log/wtmp¿¡¼­ Àо º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â ¿ÜºÎ¿¡¼­ ·Î±×ÀÎ ÇÑ Á¤º¸µµ º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù.
    groups

      ÇöÀç »ç¿ëÀÚ°¡ ¼ÓÇØ ÀÖ´Â ±×·ìÀ» º¸¿©ÁÝ´Ï´Ù. ³»ºÎ º¯¼öÀÎ $GROUPS¿¡ ÇØ´çÇÏ´Â ¸í·É¾îÀÌÁö¸¸ ¼ýÀÚ°¡ ¾Æ´Ñ ±×·ì À̸§À¸·Î º¸¿©ÁÝ´Ï´Ù.
      bash$ groups
      bozita cdrom cdwriter audio xgrp

      bash$ echo $GROUPS
      501
    newgrp

      ·Î±×¾Æ¿ô ¾øÀÌ »ç¿ëÀÚÀÇ ±×·ì ID¸¦ º¯°æÇϱâ. ÀÌ ¸í·É¾î¸¦ ¾²¸é »õ ±×·ìÀÇ ÆÄÀÏ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. »ç¿ëÀÚ´Â º¸Åë µ¿½Ã¿¡ ¿©·¯ ±×·ìÀÇ ¸â¹öÀ̱⠶§¹®¿¡ ÀÌ ¸í·É¾î¸¦ ¾µ ÀÏÀº º°·Î ¾ø½À´Ï´Ù.

Å͹̳Î
    tty

      ÇöÀç »ç¿ëÀÚÀÇ Å͹̳ΠÀ̸§À» º¸¿©ÁÝ´Ï´Ù. ¼­·Î ´Ù¸¥ ÇÑÅÒ, ¿¢½ºÅÒ À©µµ¿ì´Â ¼­·Î ´Ù¸¥ Å͹̳ηΠÀνĵǴ°Ϳ¡ ÁÖÀÇÇϼ¼¿ä.
      bash$ tty
      /dev/pts/1
    stty

      Å͹̳Π¼¼ÆÃÀ» º¸¿©Áְųª º¯°æÇØ ÁÝ´Ï´Ù. ÀÌ º¹ÀâÇÑ ¸í·É¾î´Â ½ºÅ©¸³Æ®¿¡¼­ ¾²¿© Å͹̳Πµ¿ÀÛÀ̳ª Ãâ·ÂÇÏ´Â ¹æ¹ýÀ» Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. info ÆäÀÌÁö¸¦ Âü°íÇÏ°í, Á¶½ÉÇؼ­ °øºÎÇϼ¼¿ä.

      ¿¹ 13-1. Áö¿ò ±ÛÀÚ(erase character) ¼¼ÆÃÇϱâ
      #!/bin/bash
      # erase.sh: "stty"·Î ÀԷ½ÃÀÇ Áö¿ò ±ÛÀÚ(erase character)¸¦ ¼¼Æ®Çϱâ.

      echo -n "À̸§ÀÌ ¹¹¿¡¿ä? "
      read name # ¾Æ¹« ±ÛÀÚ³ª Ä¡°í Áö¿ì·Á°í Çغ¸¼¼¿ä.
      # ¾È µÉ °Ì´Ï´Ù.
      echo "À̸§ÀÌ $name ±º¿ä."

      stty erase '#' # "hashmark" (#) ¸¦ Áö¿ò ±ÛÀÚ·Î ¼¼Æ®.
      echo -n "À̸§ÀÌ ¹¹ÁÒ? "
      read name # ¸¶Áö¸·¿¡ Ä£ ±ÛÀÚ¸¦ # À¸·Î Áö¿öº¸¼¼¿ä.
      echo "$name °¡ ´ç½Å À̸§À̱º¿ä."

      exit 0

      ¿¹ 13-2. ºñ¹Ð½º·± ºñ¹Ð¹øÈ£: Å͹̳Π¿¡ÄÚ ²ô±â
      #!/bin/bash

      echo
      echo -n "ºñ¹Ð¹øÈ£¸¦ ³ÖÀ¸¼¼¿ä "
      read passwd
      echo "ºñ¹Ð¹øÈ£´Â $passwd ÀÔ´Ï´Ù."
      echo -n "´©±º°¡°¡ ¾î±ú ³Ê¸Ó·Î ´ç½ÅÀ» º¸°í ÀÖ¾ú´Ù¸é, "
      echo "´ç½ÅÀÇ ºñ¹Ð¹øÈ£¸¦ ¾Ë¾Æ³ÂÀ» ¼öµµ ÀÖ½À´Ï´Ù."

      echo && echo # "and list"·Î ¹­ÀÎ ¶óÀÎ ÇÇµå µÎ ÁÙ"

      stty -echo # È­¸é ¿¡ÄÚ¸¦ ²ü´Ï´Ù.

      echo -n "ºñ¹Ð¹øÈ£¸¦ ´Ù½Ã ³ÖÀ¸¼¼¿ä "
      read passwd
      echo
      echo "ºñ¹Ð¹øÈ£´Â $passwd ÀÔ´Ï´Ù."
      echo

      stty echo # È­¸é ¿¡ÄÚ¸¦ ŵ´Ï´Ù.

      exit 0

      stty¸¦ âÁ¶ÀûÀ¸·Î ½á¼­ »ç¿ëÀÚ°¡ ENTER¸¦ ¾È ´­·¯µµ ¾î¶² Å°¸¦ ´­·¶´ÂÁö¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.

      ¿¹ 13-3. Å°´©¸§ ¾Ë¾Æ³»±â
      #!/bin/bash
      # keypress.sh: Å°´©¸§ ¾Ë¾Æ³»±â("hot keyboard").

      echo

      old_tty_settings=$(stty -g) # ÇöÀç ¼¼ÆÃÀ» ÀúÀå.
      stty -icanon
      Keypress=$(head -c1) # GNU ½Ã½ºÅÛÀÌ ¾Æ´Ï¶ó¸é
      # $(dd bs=1 count=1 2> /dev/null)

      echo
      echo """$Keypress"" Å°°¡ ´­·È½À´Ï´Ù."
      echo

      stty "$old_tty_settings" # ¿ø·¡ ¼¼ÆÃÀ¸·Î º¹±¸.

      # Thanks, Stephane Chazelas.

      exit 0


      ¿¹ 9-3 Âü°í.
      Å͹̳ΰú ¸ðµå

      Å͹̳ÎÀº º¸Åë ij³ë´ÏÄÃ(canonical) ¸ðµå·Î µ¿ÀÛÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ Å°¸¦ ´©¸£¸é ±× Å͹̳ο¡¼­ ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥¿¡°Ô Áï½Ã Àü´ÞµÇÁö ¾Ê°í, Å͹̳ΠÁö¿ª ¹öÆÛ°¡ Å° ´©¸§À» ÀúÀåÇÏ°í ÀÖ´Ù°¡ ENTER¸¦ ´­·¶À» ¶§¿¡ ÀúÀåÇÏ°í ÀÖ´ø °ªµéÀ» ¸ðµÎ Àü´ÞÇÏ°Ô µË´Ï´Ù. Å͹̳ο¡ ±âº»ÀûÀÎ ÁÙ´ÜÀ§ ÆíÁý±â°¡ µé¾î ÀÖ´Â °Í°ú ºñ½ÁÇÕ´Ï´Ù.

      bash$ stty -a
      speed 9600 baud; rows 36; columns 96; line = 0;
      intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ; eol2 = ;
      start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
      ...
      isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt


      ij³ë´ÏÄà ¸ðµå¿¡¼­´Â Áö¿ª Å͹̳ΠÁÙ´ÜÀ§ ÆíÁý±â¿ë Ư¼öÅ°ÀÇ ÀçÁ¤ÀÇ°¡ °¡´ÉÇÕ´Ï´Ù.
      ³Íij³ë´ÏÄÃ("raw") ¸ðµå¿¡¼­´Â ´©¸£´Â ¸ðµç Å°(ctl-H°°Àº ÆíÁý¿ë Ư¼öÅ°µµ Æ÷ÇÔ)°¡ Á¦¾î ÇÁ·Î¼¼½º¿¡°Ô Áï½Ã Àü´ÞµË´Ï´Ù. bash ÇÁ·ÒÇÁÆ®´Â icanon ¿É¼Ç°ú echo ¿É¼ÇÀ» µÑ ´Ù ²¨¼­ ±âº»ÀûÀÎ ÁÙ ´ÜÀ§ ÆíÁýÀ» ´õ Á¤±³ÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, bash ÇÁ·ÒÇÁÆ® »ó¿¡¼­ ctl-AÀ» ´©¸£¸é ^A°¡ Å͹̳ο¡ ÂïÈ÷Áö ¾Ê°í bash°¡ \1 ¹®ÀÚ¸¦ Àаí Çؼ®Çؼ­ Ä¿¼­¸¦ ÁÙ Á¦ÀÏ Ã³À½À¸·Î À̵¿½ÃÄÑ ÁÝ´Ï´Ù. Stephane Chazelas
    test

      Å͹̳Π¼¼ÆÃÀ» º¸¿©Áְųª ÃʱâÈ­ ÇÔ. sttyº¸´Ù ±â´ÉÀÌ ¶³¾îÁý´Ï´Ù.
      bash$ tset -r
      Terminal type is xterm-xfree86.
      Kill is control-U (^U).
      Interrupt is control-C (^C).
    setserial

      ½Ã¸®¾ó Æ÷Æ® ¸Å°³º¯¼ö¸¦ ¼¼Æ®ÇÏ?ų? º¸¿©ÁÝ´Ï´Ù. ·çÆ®·Î ½ÇÇà½ÃÄÑ¾ß ÇÏ°í º¸ÅëÀº ½Ã½ºÅÛ ¼Â¾÷ ½ºÅ©¸³Æ®¿¡¼­ ãÀ» ¼ö ÀÖ½À´Ï´Ù.

      # /etc/pcmcia/serial ½ºÅ©¸³Æ®¿¡¼­ ¹ßÃé:

      IRQ=`setserial /dev/$DEVICE | sed -e 's/.*IRQ: //'`
      setserial /dev/$DEVICE irq 0 ; setserial /dev/$DEVICE irq $IRQ
    getty, agetty

      Å͹̳οë ÃʱâÈ­ ÇÁ·Î¼¼½º°¡ getty³ª agetty¸¦ ½á¼­ »ç¿ëÀÚÀÇ ·Î±×ÀÎÀ» ¼³Á¤ÇØ ÁÝ´Ï´Ù. ÀÌ ¸í·É¾îµéÀº »ç¿ëÀÚÀÇ ½© ½ºÅ©¸³Æ®¿¡¼­ ¾²ÀÌÁö ¾Ê±â ¶§¹®¿¡ ½© ½ºÅ©¸³Æ®¿¡¼­ ÀÌ·± ±â´ÉÀ» ¾²·Á¸é stty¸¦ ¾²±â ¹Ù¶ø´Ï´Ù.
    mesg

      ÇöÀç »ç¿ëÀÚÀÇ Å͹̳ο¡ ´ëÇÑ ¾²±â Á¢±ÙÀ» Á¦¾îÇÕ´Ï´Ù. Á¢±ÙÀ» ¸ø ÇÏ°Ô ¼³Á¤µÇ¸é ³×Æ®¿öÅ©¿¡ ÀÖ´Â ´Ù¸¥ »ç¿ëÀÚ°¡ ÇöÀç Å͹̳ηΠwrite¸¦ ÇÏÁö ¸øÇÏ°Ô ÇØ ÁÝ´Ï´Ù.

      ÀÛÀº Á¤º¸: ¿©·¯ºÐÀÌ ÅؽºÆ® ÆÄÀÏÀ» ÆíÁýÇÏ°í Àִµ¥ °©ÀÚ±â ÇÇÀÚ ÁÖ¹® ¸Þ¼¼Áö°¡ ¶ß¸é ¾ÆÁÖ Â¥Áõ³¯ °ÍÀÔ´Ï´Ù. ´ÙÁß »ç¿ëÀÚ ³×Æ®¿öÅ©¿¡¼­´Â, ¹æÇعޱ⠽ÈÀ» ¶§ ¿©·¯ºÐÀÇ Å͹̳ο¡ ´ëÇÑ ¾²±â Á¢±ÙÀ» ¸·°í ½ÍÀº °æ¿ì°¡ »ý±æ°Ì´Ï´Ù.
    wall

      "write all"ÀÇ ¾Õ±ÛÀÚ¸¦ µû¼­ wallÀÌ µÈ ÀÌ ¸í·É¾î´Â ÇöÀç ·Î±×ÀÎ µÇ¾î ÀÖ´Â ¸ðµç »ç¿ëÀÚ¿¡°Ô ¸Þ¼¼Áö¸¦ ³¯¸³´Ï´Ù. ¿ø·¡´Â À¯¿ëÇÑ ½Ã½ºÅÛ °ü¸®ÀÚ¿ë µµ±¸ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ½Ã½ºÅÛ¿¡ ¹®Á¦°¡ »ý°Ü¼­ Àá±ñ µ¿¾È ´Ù¿î ½ÃÄÑ¾ß ÇÒ ÇÊ¿ä°¡ »ý°åÀ» ¶§ ¸ðµç »ç¿ëÀڵ鿡°Ô °æ°í¸¦ ÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù(¿¹ 17-2 Âü°í).

      bash$ wall System going down for maintenance in 5 minutes!
      Broadcast message from bozo (pts/1) Sun Jul 8 13:53:27 2001...

      System going down for maintenance in 5 minutes!
      Âü°í: mesg·Î ¾²±â°¡ ¸·ÇôÀÖ´Â Å͹̳ÎÀº wall ¸Þ¼¼Áö¸¦ ¹ÞÀ» ¼ö ¾ø½À´Ï´Ù.
    dmesg

      ½Ã½ºÅÛ ºÎÆà ¸Þ¼¼Áö¸¦ Ç¥ÁØÃâ·ÂÀ¸·Î º¸¿© ÁÝ´Ï´Ù. µð¹ö±ë ÇÒ ¶§, ¾î¶² µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ¼³Ä¡µÆ´ÂÁö È®ÀÎÇÒ ¶§, »ç¿ëÁßÀÎ ½Ã½ºÅÛ ÀÎÅÍ·´Æ®°¡ ¹«¾ùÀÎÁö È®ÀÎÇÒ ¶§ ÆíÇÏ°Ô ¾µ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼­ dmesgÀÇ Ãâ·ÂÀ» grepÀ̳ª sed, awk·Î ÆĽÌÇؼ­ ¾µ ¼ö ÀÖ½À´Ï´Ù.

Á¤º¸ ¹× Åë°è
    uname

      ½Ã½ºÅÛ »ç¾ç(OS, Ä¿³Î ¹öÀüµî)À» Ç¥ÁØÃâ·ÂÀ¸·Î º¸¿©ÁÝ´Ï´Ù. -a ¿É¼ÇÀ» ÁÖ¸é ½Ã½ºÅÛ Á¤º¸¸¦ ¾ÆÁÖ ÀÚ¼¼ÇÏ°Ô º¸¿©ÁÖ°í(¿¹ 12-4 Âü°í), -s ¿É¼ÇÀ» ÁÖ¸é OS Á¾·ù¸¸ º¸¿©ÁÝ´Ï´Ù.
      bash$ uname -a
      Linux localhost.localdomain 2.2.15-2.5.0 #1 Sat Feb 5 00:13:43 EST 2000 i686 unknown
      
      bash$ uname -s
      Linux
      					
    arch

      ½Ã½ºÅÛ ¾ÆÅ°ÅØÃĸ¦ º¸¿©ÁÝ´Ï´Ù. uname -m °ú µ¿ÀÏÇÑ ¸í·É¾îÀÔ´Ï´Ù. ¿¹ 10-24¸¦ Âü°íÇϼ¼¿ä.
      bash$ arch
      i686
      
      bash$ uname -m
      i686
      					
    lastcomm

      /var/account/pacct ÆÄÀÏ¿¡ ÀúÀåµÅ ÀÖ´Â ÀÌÀü ¸í·É¾îµé¿¡ ´ëÇÑ Á¤º¸¸¦ ¾Ë·ÁÁÝ´Ï´Ù. ¿É¼ÇÀ¸·Î ¸í·É¾î¿Í »ç¿ëÀÚ À̸§À» ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸í·É¾î´Â GNU °èÁ¤ À¯Æ¿¸®Æ¼(accounting utility)ÁßÀÇ ÇϳªÀÔ´Ï´Ù.
    lastlog

      ½Ã½ºÅÛÀÇ ¸ðµç »ç¿ëÀÚ°¡ ¸¶Áö¸·À¸·Î ·Î±×ÀÎÇÑ ½Ã°£À» º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â /var/log/lastlog ÆÄÀÏÀ» ÂüÁ¶ÇÕ´Ï´Ù.
      bash$ lastlog
      root          tty1                      Fri Dec  7 18:43:21 -0700 2001
      bin                                     **Never logged in**
      daemon                                  **Never logged in**
      ...
      bozo          tty1                      Sat Dec  8 21:14:29 -0700 2001
      
      
      
      bash$ lastlog | grep root
      root          tty1                      Fri Dec  7 18:43:21 -0700 2001
                   
      					

      °æ°í :/var/log/lastlog ÆÄÀÏ¿¡ Àбâ Æ۹̼ÇÀÌ ¾ø´Â »ç¿ëÀÚ°¡ ÀÌ ¸í·É¾î¸¦ ½ÇÇà½ÃÅ°¸é ½ÇÆÐÇÕ´Ï´Ù.
    lsof

      ÇöÀç ¿­·Á ÀÖ´Â ÆÄÀϵéÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â ÇöÀç ¿­·Á ÀÖ´Â ¸ðµç ÆÄÀϵ鿡 ´ëÇÑ ÀÚ¼¼ÇÑ Ç¥¿Í °¢°¢ÀÇ ÆÄÀÏ¿¡ ´ëÇÑ ¼ÒÀ¯ÀÚ, Å©±â, °ü·Ã ÇÁ·Î¼¼½ºµîÀÇ Á¤º¸¸¦ º¸¿© ÁÝ´Ï´Ù. ´ç¿¬È÷, lsofÀÇ Ãâ·ÂÀº ÆÄÀÌÇÁ¸¦ ÅëÇØ grep³ª awk·Î ³Ñ°Ü¼­ ÆĽÌÇؼ­ ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
      bash$ lsof
      COMMAND    PID    USER   FD   TYPE     DEVICE    SIZE     NODE NAME
      init         1    root  mem    REG        3,5   30748    30303 /sbin/init
      init         1    root  mem    REG        3,5   73120     8069 /lib/ld-2.1.3.so
      init         1    root  mem    REG        3,5  931668     8075 /lib/libc-2.1.3.so
      cardmgr    213    root  mem    REG        3,5   36956    30357 /sbin/cardmgr
      ...	                
      					
    strace

      ½Ã½ºÅÛ ÄÝ°ú ½Ã±×³ÎÀ» ÃßÀûÇؼ­ Áø´ÜÇÏ°í µð¹ö±ëÇØ ÁÖ´Â µµ±¸ÀÔ´Ï´Ù. °¡Àå °£´ÜÇÏ°Ô ½ÇÇà½ÃÅ°´Â ¹æ¹ýÀº strace COMMAND¶ó°í Ä¡´Â °ÍÀÔ´Ï´Ù.
      bash$ strace df
      execve("/bin/df", ["df"], [/* 45 vars */]) = 0
       uname({sys="Linux", node="bozo.localdomain", ...}) = 0
       brk(0)                                  = 0x804f5e4
       ...	    	                
      					

      ÀÌ ¸í·É¾î´Â ¸®´ª½º¿¡¼­ÀÇ truss ÀÔ´Ï´Ù.
    free

      ¸Þ¸ð¸®¿Í ij½¬ »ç¿ë·®À» ÅÇÀÌ µé¾î°£ ÇüÅ·Πº¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾îÀÇ Ãâ·ÂÀº grepÀ̳ª, awk, PerlÀ» ½á¼­ ÆĽÌÇϱ⿡ ¾Ë¸ÂÀº ÇüÅÂÀÔ´Ï´Ù. procinfo ¸í·É¾î´Â free°¡ º¸¿©ÁÖ´Â Á¤º¸ ÀÌ¿Ü¿¡ ´õ ¸¹Àº Á¤º¸µµ º¸¿©ÁÝ´Ï´Ù.
      bash$ free
                      total       used       free     shared    buffers     cached
         Mem:         30504      28624       1880      15820       1608       16376
         -/+ buffers/cache:      10640      19864
         Swap:        68540       3128      65412  	                
      					

      »ç¿ëÇÏÁö ¾Ê´Â ·¥ ¿ë·®À» º¸·Á¸é:
      bash$ free | grep Mem | awk '{ print $4 }'
      1880 	
    procinfo

      /proc °¡»ó ÆÄÀϽýºÅÛ¿¡¼­ ¿©·¯ Á¤º¸¿Í Åë°è¸¦ »Ì¾Æ³»¼­ ±¤¹üÀ§ÇÏ°í ÀÚ¼¼ÇÏ°Ô º¸¿© ÁÝ´Ï´Ù.
      bash$ procinfo | grep Bootup
      Bootup: Wed Mar 21 15:15:50 2001    Load average: 0.04 0.21 0.34 3/47 6829    	                
      					
    lsdev

      ¼³Ä¡µÈ Çϵå¿þ¾î µð¹ÙÀ̽ºÀÇ ¸ñ·ÏÀ» º¸¿©ÁÝ´Ï´Ù.
      bash$ lsdev
      Device            DMA   IRQ  I/O Ports
      ------------------------------------------------
      cascade             4     2 
      dma                          0080-008f
      dma1                         0000-001f
      dma2                         00c0-00df
      fpu                          00f0-00ff
      ide0                     14  01f0-01f7 03f6-03f6
      ...       	                
      					
    du

      µð½ºÅ©ÀÇ ÆÄÀÏ »ç¿ë·®À» Àç±ÍÀûÀ¸·Î º¸¿©ÁÝ´Ï´Ù. Ưº°È÷ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÇöÀç µð·ºÅ丮¿¡ ´ëÇؼ­ µ¿ÀÛÇÕ´Ï´Ù.
      bash$ du -ach
      1.0k    ./wi.sh
      1.0k    ./tst.sh
      1.0k    ./random.file
      6.0k    .
      6.0k    total
    df

      ÆÄÀϽýºÅÛ »ç¿ë·®À» ÅÇÀÌ µé¾î°£ ÇüÅ·Πº¸¿© ÁÝ´Ï´Ù.
      bash$ df
      Filesystem           1k-blocks      Used Available Use% Mounted on
      /dev/hda5               273262     92607    166547  36% /
      /dev/hda8               222525    123951     87085  59% /home
      /dev/hda7              1408796   1075744    261488  80% /usr
    stat

      ÁÖ¾îÁø ÆÄÀÏ(µð·ºÅ丮³ª µð¹ÙÀ̽º ÆÄÀϵµ)¿¡ ´ëÇؼ­ ÀÚ¼¼ÇÑ Åë°è(statistics)¸¦ ¾Ë·ÁÁÝ´Ï´Ù.
      bash$ stat test.cru
        File: "test.cru"
        Size: 49970        Allocated Blocks: 100          Filetype: Regular File
        Mode: (0664/-rw-rw-r--)         Uid: (  501/ bozo)  Gid: (  501/ bozo)
      Device:  3,8   Inode: 18185     Links: 1    
      Access: Sat Jun  2 16:40:24 2001
      Modify: Sat Jun  2 16:40:24 2001
      Change: Sat Jun  2 16:40:24 2001
      	      

      Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏ¿¡ ´ëÇؼ­ statÀ» ½ÇÇà½ÃÅ°¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ ³À´Ï´Ù.
      bash$ stat nonexistent-file
      nonexistent-file: No such file or directory
      	      
    vmstat

      °¡»ó ¸Þ¸ð¸®(virtual memory) Åë°è(statistics)¸¦ º¸¿©ÁÜ.
      bash$ vmstat
         procs                      memory    swap          io system         cpu
      r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy id
      0  0  0      0  11040   2636  38952   0   0    33     7  271    88   8   3 89
      	    
    netstat

      ¶ó¿ìÆà Å×À̺íÀ̳ª È°¼ºÈ­µÇ¾î ÀÖ´Â ³×Æ®¿öÅ© ¿¬°á°°Àº ³×Æ®¿öÅ© Åë°è¿Í Á¤º¸¸¦ º¸¿© ÁÝ´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼´Â /proc/net(28Àå)¿¡¼­ Á¤º¸¸¦ ¾ò¾î ¿É´Ï´Ù. ¿¹ 28-2À» Âü°íÇϼ¼¿ä.
    uptime

      ½Ã½ºÅÛÀÌ ¾ó¸¶³ª ¿À·§µ¿¾È µ¹°í ÀÖ¾ú´ÂÁö °ü·Ã Åë°è¿Í ÇÔ²² º¸¿©ÁÝ´Ï´Ù.
      bash$ uptime
      10:28pm  up  1:57,  3 users,  load average: 0.17, 0.34, 0.27 
    hostname

      ½Ã½ºÅÛÀÇ È£½ºÆ®¸íÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â /etc/rc.d ¿¡ µé¾î ÀÖ´Â ¼Â¾÷ ½ºÅ©¸³Æ®¿¡¼­ È£½ºÆ®¸íÀ» ¼³Á¤ÇØ ÁÝ´Ï´Ù(/etc/rc.d/rc.sysinitÀ̳ª ºñ½ÁÇÑ ½ºÅ©¸³Æ®). uname -n°ú µ¿ÀÏÇÑ ¸í·É¾îÀÌ°í ³»ºÎ º¯¼öÀÎ $HOSTNAME°ú ¿¬°üÀÌ ÀÖ½À´Ï´Ù.
      bash$ hostname
      localhost.localdomain
      
      bash$ echo $HOSTNAME
      localhost.localdomain 
    hostid

      È£½ºÆ® ¸Ó½Å¿¡ ´ëÇÑ 32ºñÆ® 16Áø¼ö ±¸ºÐÀÚ¸¦ ¿¡ÄÚÇØ ÁÝ´Ï´Ù.
      bash$ hostid
      7f0100 
        Âü°í: ÀÌ ¸í·É¾î´Â ƯÁ¤ ½Ã½ºÅÛ¿¡ ´ëÇØ "À¯ÀÏÇÑ"(unique) ½Ã¸®¾ó ¼ýÀÚ¸¦ ±¸ÇØÁÝ´Ï´Ù. ¸î¸î »ó¾÷¿ë Á¦Ç°ÀÇ µî·Ï °úÁ¤¿¡¼­ ÀÌ ¼ýÀÚ¸¦ ÀÌ¿ëÇØ »ç¿ëÀÚ ¶óÀ̼¾½º¸¦ ¸¸µé¾î ³À´Ï´Ù. ÇÏÁö¸¸ ºÒÇàÇÏ°Ôµµ hostid´Â ¿ÀÁ÷ ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ µÎ ¹ÙÀÌÆ® ´ÜÀ§·Î µÚÁý¾î 16Áø¼ö·Î ¸®ÅÏÇØ ÁÝ´Ï´Ù.

        ³×Æ®¿öÅ©¿¡ ¹°¸®Áö ¾ÊÀº ¸®´ª½º ¸Ó½ÅÀÇ ÀüÇüÀûÀÎ ³×Æ®¿öÅ© ÁÖ¼Ò´Â /etc/hosts¿¡¼­ ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.
        bash$ cat /etc/hosts
        127.0.0.1               localhost.localdomain localhost
        °ø±³·Ó°Ôµµ 127.0.0.1À» µÎ ¹ÙÀÌÆ® ´ÜÀ§·Î µÚÁýÀ¸¸é 0.127.1.0ÀÌ µÇ°í À̸¦ 16Áø¼ö·Î º¯È¯Çϸé 007f0100ÀÌ µÇ´Âµ¥ ÀÌ´Â À§¿¡¼­ »ìÆ캻 hostid°¡ ¸®ÅÏÇÏ´Â °ª°ú Á¤È®È÷ ÀÏÄ¡ÇÕ´Ï´Ù. °á±¹ µ¿ÀÏÇÑ hostid¸¦ °®´Â ¸®´ª½º ¸Ó½ÅÀÌ ¼ö ¹é¸¸ °³°¡ Á¸ÀçÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù.

½Ã½ºÅ۷α×
    logger

      »ç¿ëÀÚ°¡ ¸¸µé¾î³½ ¸Þ¼¼Áö¸¦ ½Ã½ºÅÛ ·Î±×(/var/log/messages)¿¡ Ãß°¡ ½Ãŵ´Ï´Ù. ÀÌ ¸í·É¾î´Â ÀÏ¹Ý »ç¿ëÀÚµµ ¾µ ¼ö ÀÖ½À´Ï´Ù.
      logger Experiencing instability in network connection at 23:10, 05/21.
      # ÀÚ, ÀÌÁ¦ 'tail /var/log/messages' ¶ó°í ÇØ º¸¼¼¿ä.
      					

      ½ºÅ©¸³Æ®¿¡ logger ¸í·É¾î¸¦ ³Ö¾î¼­ µð¹ö±ë Á¤º¸¸¦ /var/log/messages¿¡ ¾µ ¼ö ÀÖ½À´Ï´Ù.
      logger -t $0 -i Logging at line "$LINENO".
      # "-t" ¿É¼ÇÀº logger ¿£Æ®¸®¿ë ű׸¦ ÁöÁ¤ÇÕ´Ï´Ù.
      # "-i" ¿É¼ÇÀº ÇÁ·Î¼¼½º ID¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
      
      # tail /var/log/message
      # ...
      # Jul  7 20:48:58 localhost ./test.sh[1712]: Logging at line 3.
      					
    logrotate

      ÀÌ À¯Æ¿¸®Æ¼´Â ½Ã½ºÅÛ ·Î±× ÆÄÀϵéÀ» Àû´çÇÏ°Ô ·ÎÅ×ÀÌÆ® ½ÃÅ°°í, ¾ÐÃàÇÏ°í, Áö¿ì°í, ¸ÞÀÏÀ» º¸³»´Â ÀϵéÀ» ó¸®ÇØ ÁÝ´Ï´Ù. º¸Åë crondÀº logrotate¸¦ °¡Àå ±âº»ÀûÀÎ ÇÏ·ç ÀÏ°ú·Î »ï½À´Ï´Ù.

      /etc/logrotate.conf¿¡ Àû´çÇÑ ³»¿ëÀ» Àû¾îÁÖ¸é ½Ã½ºÅÛ Àüü ·Î±×»Ó¸¸ ¾Æ´Ï¶ó °³ÀÎ¿ë ·Î±× ÆÄÀÏÀ» °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÛ¾÷Á¦¾î
    ps

      ÇÁ·Î¼¼½º Åë°è(Process Statistics): ÇöÀç ½ÇÇàÁßÀÎ ÇÁ·Î¼¼½ºµéÀ» »ç¿ëÀÚ¿Í PID(ÇÁ·Î¼¼½º ¾ÆÀ̵ð)¿¡ ÀÇÇؼ­ º¸¿©ÁÜ. º¸ÅëÀº ax ¿É¼ÇÀ» Á༭ ºÎ¸£°í, grepÀ̳ª sed·Î ÆÄÀÌÇÁ¸¦ °É¾î¼­ ƯÁ¤ ÇÁ·Î¼¼½º¸¦ ã½À´Ï´Ù(¿¹ 11-8¿Í ¿¹ 28-1 Âü°í).
      bash$ ps ax | grep sendmail
      295 ? S 0:00 sendmail: accepting connections on port 25
    pstree

      ÇöÀç ½ÇÇàÁßÀÎ ÇÁ·Î¼¼½º¸¦ "³ª¹«"(tree) ÇüÅ·Πº¸¿© ÁÝ´Ï´Ù. -p ¿É¼ÇÀ» ÁÖ¸é ÇÁ·Î¼¼½º À̸§»Ó¸¸ ¾Æ´Ï¶ó PID±îÁö º¸¿© ÁÝ´Ï´Ù.
    top

      cpu¸¦ ÁýÁßÀûÀ¸·Î »ç¿ëÇÏ´Â ÇÁ·Î¼¼½º¸¦ Áß½ÉÀ¸·Î ÃֽŠÁ¤º¸¸¦ °è¼Ó º¸¿©ÁÝ´Ï´Ù. -b ¿É¼ÇÀº °á°ú¸¦ ÅؽºÆ® ¸ðµå·Î º¸¿©Áֱ⠶§¹®¿¡ ÆĽÌÀ» Çϰųª ½ºÅ©¸³Æ®¿¡¼­ Á¢±ÙÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
      bash$ top -b
      8:30pm up 3 min, 3 users, load average: 0.49, 0.32, 0.13
      45 processes: 44 sleeping, 1 running, 0 zombie, 0 stopped
      CPU states: 13.6% user, 7.3% system, 0.0% nice, 78.9% idle
      Mem: 78396K av, 65468K used, 12928K free, 0K shrd, 2352K buff
      Swap: 157208K av, 0K used, 157208K free 37244K cached

      PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
      848 bozo 17 0 996 996 800 R 5.6 1.2 0:00 top
      1 root 8 0 512 512 444 S 0.0 0.6 0:04 init
      2 root 9 0 0 0 0 SW 0.0 0.0 0:00 keventd
      ...
    nice

      ¹é±×¶ó¿îµå ÀÛ¾÷ÀÇ ¿ì¼±¼øÀ§¸¦ ¹Ù²ãÁÝ´Ï´Ù. ¿ì¼±¼øÀ§´Â 19(Á¦ÀÏ ³·À½)¿¡¼­ -20(Á¦ÀÏ ³ôÀ½)±îÁö Àε¥, ¿ÀÁ÷ root¸¸ÀÌ À½¼ö(³ôÀº) ¿ì¼±¼øÀ§¸¦ ÁÙ ¼ö ÀÖ½À´Ï´Ù. °ü·Ã ¸í·É¾î·Î´Â renice, snice, skillÀÌ ÀÖ½À´Ï´Ù.
    nohup

      »ç¿ëÀÚ°¡ ·Î±× ¾Æ¿ôÀ» ÇÏ´õ¶ó°í ¸í·É¾î°¡ °è¼Ó µ¹°Ô ÇØ ÁÝ´Ï´Ù. ¸í·É¾î¿¡ &¸¦ ºÙ¿© ½ÇÇàÇÏÁö ¾ÊÀ¸¸é Æ÷±×¶ó¿îµå·Î ½ÇÇàÀÌ µÉ °ÍÀÔ´Ï´Ù. nohupÀ» ½ºÅ©¸³Æ®¿¡¼­ ¾µ ¶§´Â, °í¾Æ ÇÁ·Î¼¼½º³ª Á»ºñ ÇÁ·Î¼¼½º°¡ »ý±âÁö ¾Êµµ·Ï wait°ú °°ÀÌ ½á¾ß ÇÕ´Ï´Ù.
    pidof

      ½ÇÇàÁßÀÎ ÀÛ¾÷ÀÇ ÇÁ·Î¼¼½º ID(pid)¸¦ ½Äº°ÇØ ÁÝ´Ï´Ù. killÀ̳ª renice°°Àº ÀÛ¾÷ Á¦¾î ¸í·É¾îµéÀº ÇÁ·Î¼¼½º À̸§ÀÌ ¾Æ´Ï¶ó pid¿¡ ´ëÇØ µ¿ÀÛÇϱ⠶§¹®¿¡ Á¾Á¾ pid·Î ±¸ºÐÇÒ ÇÊ¿ä°¡ »ý±é´Ï´Ù. pidof ¸í·É¾î´Â ³»ºÎ º¯¼öÀÎ $PPID¿Í °ÅÀÇ ½ÖÀ» ÀÌ·ì´Ï´Ù.
      bash$ pidof xclock
      880


      ¿¹ 13-4. pidof ·Î ÇÁ·Î¼¼½º¸¦ Á×À̱â
      kill $t # Àß Á×Áö ¾Ê´Â ÇÁ·Î¼¼½º¶ó¸é 'kill -9'¶ó°í ÇØ¾ß ÇÒÁöµµ ¸ð¸¨´Ï´Ù.
      # Á×Áö ¾Ê°Ô µÅ ÀÖ´Â ÇÁ·Î¼¼½ºÀϼöµµ Àֱ⠶§¹®¿¡ # ´Ù½Ã ÇÑ ¹ø " t=`pidof $process` " ·Î È®ÀÎÇØ º¼ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
      # À§ Àüü ½ºÅ©¸³Æ®´Â # kill $(pidof -x process_name) # À̶ó°í ÇÒ ¼öµµ ÀÖ°ÚÀ¸³ª ±×·¯¸é ±³À°ÀûÀÌÁö´Â ¾ÊÀº°Í °°±º¿ä. exit 0
    fuser

      ¾î¶² ÆÄÀÏÀ̳ª, ÆÄÀÏ ÁýÇÕ, µð·ºÅ丮¿¡ Á¢±ÙÇÏ°í ÀÖ´Â ÇÁ·Î¼¼½º¸¦ PID·Î ½Äº°ÇØ ÁÝ´Ï´Ù. -k ¿É¼ÇÀ» ¾²¸é ÇØ´ç ÇÁ·Î¼¼½º¸¦ Á×ÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸í·É¾î´Â ½Ã½ºÅÛ º¸¾È Â÷¿ø¿¡¼­ ¾ÆÁÖ Èï¹Ì·Î¿î ±¸ÇöÀε¥ ÁÖ·Î ½ºÅ©¸³Æ®¿¡¼­ ¾²¿© ½Ã½ºÅÛ ¼­ºñ½º¿¡ ´ëÇØ Çã°¡ ¹ÞÁö ¾ÊÀº »ç¿ëÀÚÀÇ Á¢±ÙÀ» ¸·´Â ¿ëµµ·Î ¾²ÀÔ´Ï´Ù.
    crond

      ½Ã½ºÅÛ °ü¸®¿ë ½ºÄÉÁì·¯ ÇÁ·Î±×·¥À¸·Î¼­, ½Ã½ºÅÛ ·Î±× ÆÄÀÏÀ» Á¤¸®ÇÏ°í Áö¿î´Ù°Å³ª slocate µ¥ÀÌŸ º£À̽º¸¦ ¾÷µ¥ÀÌÆ® ÇÏ´Â µîÀÇ ÀÏÀ» ÇØ ÁÝ´Ï´Ù. atÀÇ ·çÆ® »ç¿ëÀÚ ¹öÀü¿ë ¸í·É¾îÀÔ´Ï´Ù(¹°·Ð, °¢ »ç¿ëÀÚ´Â crontab ¸í·É¾î¸¦ ½á¼­ ÀڽŸ¸ÀÇ crontab ÆÄÀÏÀ» °¡Áú¼öµµ ÀÖ½À´Ï´Ù). µ¥¸óÀ¸·Î µ¹¸é¼­ /etc/crontabÀÇ ³»¿ëµéÀ» ½ºÄÉÁì¿¡ µû¶ó ½ÇÇà½ÃÄÑ ÁÝ´Ï´Ù.

ÇÁ·Î¼¼½ºÁ¦¾î ¹× ºÎÆÃ
    init
      init ¸í·É¾î´Â ¸ðµç ÇÁ·Î¼¼½ºÀÇ ºÎ¸ð ÇÁ·Î¼¼½º·Î¼­, ½Ã½ºÅÛ ºÎÆà °úÁ¤ÀÇ Á¦ÀÏ ¸¶Áö¸·¿¡ ºÒ¸®¸é¼­ /etc/inittabÀ» Àо ½Ã½ºÅÛÀÇ ·±·¹º§À» °áÁ¤ÇÕ´Ï´Ù. ¿ÀÁ÷ ·çÆ®¸¸ÀÌ º°¸íÀÎ telinitÀ¸·Î ºÎ¸¦ ¼ö ÀÖ½À´Ï´Ù.

    telinit
      init¸¦ °¡¸£Å°´Â ½Éº¼¸¯¸µÅ©·Î¼­, ½Ã½ºÅÛ ·±·¹º§À» ¹Ù²Ü ¶§ ¾²´Âµ¥ º¸ÅëÀº ½Ã½ºÅÛ °ü¸®³ª ±ä±ÞÇÏ°Ô ÆÄÀϽýºÅÛÀ» ¼ö¸®ÇØ¾ß ÇÒ ¶§ ¾¹´Ï´Ù. ¿ÀÁ÷ ·çÆ®¸¸ ÀÌ ¸í·É¾î¸¦ ¾µ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸í·É¾î´Â ¾ÆÁÖ À§ÇèÇϱ⠶§¹®¿¡ ¾²±â Àü¿¡ ÀÌ ¸í·É¾î¸¦ Àß ÀÌÇØÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù!

    runlevel
      ÇöÀç¿Í ¹Ù·Î ÀüÀÇ ·±·¹º§À», ½Ã½ºÅÛÀÌ Á¤Áö »óÅÂÀÎÁö(·±·¹º§ 0), ´ÜÀÏ »ç¿ëÀÚ ¸ðµåÀÎÁö(1), ´ÙÁß »ç¿ëÀÚ ¸ðµåÀÎÁö(2³ª 3), X À©µµ¿ì ¸ðµåÀÎÁö(5), ¸®ºÎÆà ÁßÀÎÁö(6)µîÀ¸·Î º¸¿© ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â /var/run/utmp ÆÄÀÏÀ» ÅëÇØ Á¤º¸¸¦ ¾ò¾î ¿É´Ï´Ù.

    halt, shutdown, reboot
      º¸Åë ½Ã½ºÅÛ Àü¿øÀ» ²ô±â Àü¿¡ ½Ã½ºÅÛÀ» Á¤Áö½ÃÅ°´Â ¸í·É¾îµé.

ÀÌ ¹®¼­´Â KLDP¿¡ µî·ÏµÈ Â÷ÇöÁø´ÔÀÇ °í±Þ Bash ½ºÅ©¸³Æà °¡À̵åÀÇ ¹®¼­Áß ½Ã½ºÅÛ°ú °ü¸®ÀÚ¿ë ¸í·É¾î¸¦ ¿©°ú ¾øÀÌ µî·ÏÇÏ¿´À¾´Ï´Ù.

½Ã½ºÅÛ°ú °ü¸®ÀÚ¿ë ¸í·É¾îÀÇ ÁÁÀº ¿¹´Â /etc/rc.d ¿¡ ÀÖ´Â ½ÃÀÛ, Á¾·á ½ºÅ©¸³Æ®µéÀÔ´Ï´Ù. ÀÌ ¸í·É¾îµéÀº º¸Åë ½Ã½ºÅÛ °ü¸®³ª ÆÄÀϽýºÅÛÀ» ±ä±ÞÇÏ°Ô °íÄ¡·Á°í ÇÒ ¶§ ·çÆ®°¡ »ç¿ëÇÕ´Ï´Ù. ÀÌµé ¸î¸îÀº À߸ø ¾²¸é ½Ã½ºÅÛÀ» ¸Á°¡Æ®¸± ¼ö Àֱ⠶§¹®¿¡ »ç¿ë¿¡ ÁÖÀǸ¦ ¿äÇÕ´Ï´Ù.

³×Æ®¿öÅ©
    ifconfig
      ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º ¼³Á¤¹× Æ©´× À¯Æ¿¸®Æ¼. ÀÌ ¸í·É¾î´Â ºÎÆýà ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÒ ¶§³ª ¸®ºÎÆö§ ÀÎÅÍÆäÀ̽º¸¦ ³»¸®±â À§ÇØ ¾²ÀÔ´Ï´Ù.
      # /etc/rc.d/init.d/network ÀÇ ÀϺκÐ
      
      # ...
      
      # ³×Æ®¿öÅ·ÀÌ °¡´ÉÇÑÁö È®ÀÎ.
      [ ${NETWORKING} = "no" ] && exit 0
      
      [ -x /sbin/ifconfig ] || exit 0
      
      # ...
      
      for i in $interfaces ; do
        if ifconfig $i 2>/dev/null | grep -q "UP" >/dev/null 2>&1 ; then
          action "Shutting down interface $i: " ./ifdown $i boot
        fi
      # "grep"ÀÇ GNU Àü¿ëÀÎ "-q" ¿É¼ÇÀº "quiet"¸¦ ¶æÇÏ°í, ¾î¶² Ãâ·Âµµ ÇÏÁö ¾Ê°Ô ÇÕ´Ï´Ù.
      # µû¶ó¼­ Ãâ·ÂÀ» /dev/null ·Î ÀçÁöÇâ ÇÏ´Â °ÍÀÌ ²À ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
      
      # ...
      
      echo "ÇöÀç µ¿ÀÛÁßÀÎ µð¹ÙÀ̽º:"
      echo `/sbin/ifconfig | grep ^[a-z] | awk '{print $1}'`
      #                            ^^^^^  globbing À» ¸·±â À§ÇØ Äõ¿ìÆ® ½ÃÄÑ¾ß ÇÕ´Ï´Ù.
      #  ´ÙÀ½µµ ¿ª½Ã µ¿ÀÛÇÕ´Ï´Ù.
      #    echo $(/sbin/ifconfig | awk '/^[a-z]/ { print $1 })'
      #    echo $(/sbin/ifconfig | sed -e 's/ .*//')
      #  S.C.°¡ ÁÖ¼®À» ´õ ³Ö¾î Áá½À´Ï´Ù. °í¸¶¿ö¿ä.
      	
      ¿¹ 30-5 Âü°í.

    route
      Ä¿³Î ¶ó¿ìÆà Å×À̺í Á¤º¸¸¦ º¸°Å³ª ¹Ù²Ü ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù.
      
      bash$ route
      Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
      pm3-67.bozosisp *               255.255.255.255 UH       40 0          0 ppp0
      127.0.0.0       *               255.0.0.0       U        40 0          0 lo
      default         pm3-67.bozosisp 0.0.0.0         UG       40 0          0 ppp0
      	      
      					

    chkconfig
      ³×Æ®¿öÅ© ¼³Á¤À» üũÇØÁÜ. ÀÌ ¸í·É¾î´Â /etc/rc?.d µð·ºÅ丮¿¡ µé¾îÀÖ°í ºÎÆýà ½ÃÀ۵Ǵ ³×Æ®¿öÅ© ¼­ºñ½ºµéÀ» º¸¿©ÁÖ°í °ü¸®ÇØ ÁÝ´Ï´Ù.

      ¿ø·¡´Â IRIX¿¡ ÀÖ´ø °ÍÀ» ·¹µåÇÞ ¸®´ª½º°¡ Æ÷ÆÃÇÑ °ÍÀ¸·Î ´Ù¸¥ ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­´Â ±âº» ¼³Ä¡¿¡ ¼ÓÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù.
      bash$ chkconfig --list
      atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
      rwhod           0:off   1:off   2:off   3:off   4:off   5:off   6:off
      ...
      	      			

    tcpdump
      ³×Æ®¿öÅ© ÆÐŶ "½º´ÏÆÛ". ÁÖ¾îÁø ±âÁØ¿¡ ¸Â´Â ÆÐŶ Çì´õÀÇ ´ýÇÁ¸¦ ¶°¼­ ³×Æ®¿öÅ© Æ®·¡ÇÈÀ» ºÐ¼®ÇÏ°í ¹®Á¦Á¡À» ÇØ°áÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù.

      bozoville ¿Í caduceus µÎ È£½ºÆ®°£ÀÇ IP ÆÐŶ Æ®·¡ÇÈÀ» ´ýÇÁ:
      bash$ tcpdump ip host bozoville and caduceus
      	      
      					

      ´ç¿¬È÷ tcpdumpÀÇ Ãâ·ÂÀº ¾Õ¿¡¼­ ³íÀÇÇß´ø ÅؽºÆ® ó¸® À¯Æ¿¸®Æ¼µéÀ» ÀÌ¿ëÇؼ­ ÆĽÌÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÆÄÀϽýºÅÛ
    mount
      ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®ÇØ ÁÝ´Ï´Ù. º¸ÅëÀº Ç÷ÎÇdzª ½Ãµð·Ò °°Àº ¿ÜºÎ µð¹ÙÀ̽º¿¡ ´ëÇؼ­ ¾²ÀÔ´Ï´Ù. /etc/fstab¿¡ °¡´ÉÇÑ ÆÄÀϽýºÅÛÀ̳ª ÆÄƼ¼Ç, µð¹ÙÀ̽º, ¿É¼ÇµîÀ» Àû¾î ³õÀ¸¸é ÀÚµ¿À̳ª ¼öµ¿À¸·Î ¸¶¿îÆ®¸¦ ÆíÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. /etc/mtab ÆÄÀÏÀº /proc °°Àº °¡»ó ÆÄÀϽýºÅÛµµ Æ÷ÇÔÇؼ­ ÇöÀç ¸¶¿îÆ® µÇ¾î ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛÀ» º¸¿© ÁÝ´Ï´Ù.
      b mount -a ´Â /etc/fstab¿¡ µé¾î ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛ°ú ÆÄƼ¼ÇÁß¿¡ noauto ¿É¼ÇÀÌ ÀÖ´Â Ç׸ñ¸¸ »©°í ¸ðµÎ ¸¶¿îÆ® ÇØ ÁÝ´Ï´Ù. ºÎÆÃµÉ ¶§, ¸ðµç ÆÄƼ¼ÇÀÌ ¸¶¿îÆ® µÇµµ·Ï /etc/rc.d µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ½Ã½ºÅÛ ±¸µ¿ ½ºÅ©¸³Æ®(rc.sysinitÀ̳ª ºñ½ÁÇÑ °Í)¿¡¼­ ÀÌ ¸í·É¾î¸¦ ºÎ¸¨´Ï´Ù.
      mount -t iso9660 /dev/cdrom /mnt/cdrom
      # CDROM ¸¶¿îÆ®
      mount /mnt/cdrom
      # /mnt/cdrom ÀÌ /etc/fstab ¿¡ µé¾î ÀÖÀ» °æ¿ì ª°Ô ºÎ¸£±â
      					

      ÀÌ ´ÙÀç´Ù´ÉÇÑ ¸í·É¾î´Â º¸Åë ÆÄÀÏÀ» ºí·° µð¹ÙÀ̽º¿¡ Á¸ÀçÇÏ´Â ÆÄÀÏ ½Ã½ºÅÛó·³ ¸¶¿îÆ® ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± ´É·ÂÀº ·çÇÁ¹é µð¹ÙÀ̽º(loopback device)¶ó°í ÇÏ´Â ÆÄÀÏÀ» ÀÌ¿ëÇؼ­ °¡´ÉÇØ Áý´Ï´Ù. ÀÌ ·çÇÁ¹é µð¹ÙÀ̽º¸¦ Àû¿ëÇÑ ¿¹·Î¼­, ISO9660 À̹ÌÁö¸¦ CDR·Î ±Á±â Àü¿¡ ¸¶¿îÆ®Çؼ­ Å×½ºÆ® Çغ¸´Â °ÍÀÌ ÀÖ½À´Ï´Ù. [3]

      ¿¹ 13-5. CD À̹ÌÁö È®ÀÎÇϱâ
      
      # ·çÆ®·Î...
      
      mkdir /mnt/cdtest  # ¸¶¿îÆ® Æ÷ÀÎÆ®°¡ ¾ø´Ù¸é ÁغñÇÔ.
      
      mount -r -t iso9660 -o loop cd-image.iso /mnt/cdtest   # À̹ÌÁö ¸¶¿îÆ®.
      #                  "-o loop" ¿É¼ÇÀº "losetup /dev/loop0" ¿Í °°À½.
      cd /mnt/cdtest     # ÀÌÁ¦ À̹ÌÁö¸¦ È®ÀÎ.
      ls -alR            # À̹ÌÁö¿¡ µé¾îÀÖ´Â µð·ºÅ丮 Æ®¸®¿¡ µé¾î ÀÖ´Â ÆÄÀϵéÀ» ³ª¿­.
                         # ±âŸ µîµî...
      					

    umount
      ÇöÀç ¸¶¿îÆ® µÇ¾î ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛÀ» ¾ð¸¶¿îÆ® ÇØ ÁÝ´Ï´Ù. ÀÌ¹Ì ¸¶¿îÆ® µÇ¾î ÀÖ´Â Ç÷ÎÇdzª ½Ãµð·Ò µð½ºÅ©¸¦ »©±â Àü¿¡ ²À umount¸¦ ÇØ Áà¾ß ÇÕ´Ï´Ù. ¾È ±×·¯¸é ÆÄÀÏ ½Ã½ºÅÛÀÌ ±úÁú ¼öµµ ÀÖ½À´Ï´Ù.
      umount /mnt/cdrom
      # ÀÌÁ¦ ÀÌÁ§Æ® ¹öÆ°À» ´­·¯ µð½ºÅ©¸¦ ¾ÈÀüÇÏ°Ô »¬ ¼ö ÀÖ½À´Ï´Ù.
      					

      Âü°í: automount À¯Æ¿¸®Æ¼°¡ ÀûÀýÇÏ°Ô ¼³Ä¡µÇ¾î ÀÖ´Ù¸é Ç÷ÎÇdzª ½Ãµð·Ò µð½ºÅ©¿¡ Á¢±Ù½Ã³ª Á¦°Å½Ã¿¡ ÀÚµ¿À¸·Î ¸¶¿îÆ®¿Í ¾ð¸¶¿îÆ®¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷ÎÇdzª ½Ãµð·Ò µå¶óÀ̺긦 ²¼´Ù »°´Ù ÇÒ ¼ö ÀÖ´Â ·¦Å¾¿¡¼­´Â ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼öµµ ÀÖ½À´Ï´Ù.

    sync
      ¹öÆÛ¿¡ µé¾î ÀÖ´Â ÃֽŠµ¥ÀÌŸ¸¦ ÇÏµå µå¶óÀ̺ê·Î Áï½Ã ¾²°Ô ÇÕ´Ï´Ù(¹öÆÛ¿Í µå¶óÀ̺긦 µ¿±âÈ­). ÀÌ ¸í·É¾î°¡ ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ ½Ã½ºÅÛ °ü¸®ÀÚ³ª »ç¿ëÀÚ¿¡°Ô ÀڽŵéÀÌ º¯°æÇÑ µ¥ÀÌŸ°¡ °©ÀÛ½º·± Àü¿ø À̻󿡵µ »ì¾Æ³²À» ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. ¿¹Àü¿¡´Â sync; sync(¾ÆÁÖ È®½ÇÈ÷ Çϱâ À§Çؼ­ µÎ ¹ø ³»¸²)¶ó°í Çؼ­ ½Ã½ºÅÛÀ» ¸®ºÎÆÃÇϱâ ÀüÀÇ À¯¿ëÇÑ ¿¹¹æÃ¥À¸·Î ¾²¿´½À´Ï´Ù.

      ÆÄÀÏÀ» ¾ÈÀüÇÏ°Ô Áö¿ì°Å³ª(¿¹ 12-33) õÀåÀÇ ÀüµîÀÌ ±ôºýÀ̱⠽ÃÀÛÇßÀ» ¶§ ¹öÆÛ¸¦ Áï½Ã Ç÷¯½¬½ÃÅ°°í ½ÍÀ» ¶§°¡ ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù.

    losetup
      ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ¼³Á¤ÇØ ÁÝ´Ï´Ù.

      ¿¹ 13-6. ÇÑ ÆÄÀÏ¿¡¼­ Çѹø¿¡ ÆÄÀÏ ½Ã½ºÅÛ ¸¸µé±â
      
      SIZE=1000000  # 1 meg
      
      head -c $SIZE < /dev/zero > file  # ÁöÁ¤µÈ Å©±â·Î ÆÄÀÏÀ» ¼³Á¤.
      losetup /dev/loop0 file           # ·çÇÁ¹é µð¹ÙÀ̽º·Î ¼³Á¤.
      mke2fs /dev/loop0                 # ÆÄÀÏ ½Ã½ºÅÛ ¸¸µé±â.
      mount -o loop /dev/loop0 /mnt     # ¸¶¿îÆ®.
      
      # Thanks, S.C.
      					

    mkswap
      ½º¿Ò ÆÄƼ¼ÇÀ̳ª ½º¿Ò ÆÄÀÏÀ» ¸¸µé¾î ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î ´ÙÀ½¿¡´Â ²À swaponÀ¸·Î È°¼ºÈ­¸¦ ½ÃÄÑÁà¾ß ÇÕ´Ï´Ù.

    swapon, swapoff
      ½º¿Ò ÆÄƼ¼ÇÀ̳ª ½º¿Ò ÆÄÀÏÀ» È°¼ºÈ­/ºñÈ°¼ºÈ­ ½ÃÄÑ ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â º¸Åë ºÎÆýóª ¼Ë´Ù¿î½Ã¿¡ È¿·ÂÀ» °®½À´Ï´Ù.

    mke2fs
      ¸®´ª½º ext2 ÆÄÀϽýºÅÛÀ» ¸¸µé¾î ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î´Â ·çÆ®·Î ½ÇÇà ½ÃÄÑ¾ß ÇÕ´Ï´Ù.

      ¿¹ 13-7. »õ ÇÏµå µå¶óÀ̺ê Ãß°¡Çϱâ
      
      #!/bin/bash
      
      # ½Ã½ºÅÛ¿¡ µÎ ¹ø° ÇÏµå µå¶óÀ̺ê Ãß°¡Çϱâ.
      # ¼ÒÇÁÆ®¿þ¾î ¼³Á¤. Çϵå¿þ¾î°¡ ÀÌ¹Ì ¸¶¿îÆ®µÅ ÀÖ´Ù°í °¡Á¤ÇÔ.
      # º» ¹®¼­ÀÇ ÀúÀÚ°¡ "Linux Gazett", http://www.linuxgazette.com, 38È£¿¡
      # ¾´ ±â»ç¿¡¼­ ¹ßÃé.
      
      ROOT_UID=0     # ÀÌ ½ºÅ©¸³Æ®´Â ·çÆ®·Î ½ÇÇà ½ÃÄÑ¾ß µË´Ï´Ù.
      E_NOTROOT=67   # root °¡ ¾Æ´Ñ °æ¿ìÀÇ Á¾·á ¿¡·¯.
      
      if [ "$UID" -ne "$ROOT_UID" ]
      then
        echo "ÀÌ ½ºÅ©¸³Æ®´Â ·çÆ®¸¸ ½ÇÇà½Ãų ¼ö ÀÖ½À´Ï´Ù."
        exit $E_NOTROOT
      fi  
      
      # ÀÌ ½ºÅ©¸³Æ®´Â Á¤¸» ÁÖÀÇÇؼ­ ¾²±â ¹Ù¶ø´Ï´Ù!
      # ¸¸¾à ¹«¾ð°¡°¡ À߸øµÈ´Ù¸é ¿©·¯ºÐÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» Ȧ¶ó´ç ³¯·Á¸ÔÀ» ¼ö ÀÖ½À´Ï´Ù.
      
      
      NEWDISK=/dev/hdb         # /dev/hdb °¡ ºñ¾î ÀÖ´Ù°í °¡Á¤ÇÔ. ²À È®ÀÎÇØ º¼ °Í!
      MOUNTPOINT=/mnt/newdisk  # ¾Æ´Ï¸é ´Ù¸¥ ¸¶¿îÆ® Æ÷ÀÎÆ® ÁöÁ¤.
      
      
      fdisk $NEWDISK
      mke2fs -cv $NEWDISK1   # ¹èµå ºí·° È®ÀÎ¹× ÀÚ¼¼ÇÑ Ãâ·Â.
      #  ÁÖÀÇ:    /dev/hdb °¡ *¾Æ´Ï¶ó* /dev/hdb1 ÀÔ´Ï´Ù!
      mkdir $MOUNTPOINT
      chmod 777 $MOUNTPOINT  # »õ µå¶óÀ̺ê´Â ¸ðµç »ç¿ëÀÚ°¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÇÔ.
      
      
      # ÀÚ, Å×½ºÆ®¸¦ ÇØ º¸ÁÒ.
      # mount -t ext2 /dev/hdb1 /mnt/newdisk
      # µð·ºÅ丮¸¦ ¸¸µé¾î º¸°í Àß µÈ´Ù¸é umount ÇÑ ´ÙÀ½ ÇÏ´ø ÀÏÀ» °è¼ÓÇÏ¸é µË´Ï´Ù.
      
      # ¸¶Áö¸· ´Ü°è:
      # ´ÙÀ½À» /etc/fstab ¿¡ Ãß°¡ÇØ ÁÖ¼¼¿ä.
      # /dev/hdb1  /mnt/newdisk  ext2  defaults  1 1
      
      exit 0
      		

      ¿¹ 13-6 ¿Í ¿¹ 29-3 µµ Âü°íÇϼ¼¿ä.

    tune2fs
      ext2 ÆÄÀÏ ½Ã½ºÅÛÀ» Æ©´×ÇØ ÁÝ´Ï´Ù. ÃÖ´ë ¸¶¿îÆ® ¼ýÀÚ°°Àº ÆÄÀÏ ½Ã½ºÅÛ ¸Å°³º¯¼ö¸¦ ¹Ù²Ù´Âµ¥ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù. ·çÆ®·Î ½ÇÇàÇØ¾ß µË´Ï´Ù.

      °æ°í : ÀÌ ¸í·É¾î´Â ±²ÀåÈ÷ À§ÇèÇÕ´Ï´Ù. ºÎÁÖÀÇÇÏ°Ô ¾´´Ù¸é ¿©·¯ºÐ ÆÄÀÏ ½Ã½ºÅÛÀ» ¹Ú»ì³¾ ¼öµµ Àֱ⠶§¹®¿¡ ¿©·¯ºÐ ½º½º·Î Ã¥ÀÓÀ» Áö°í ½á¾ß ÇÕ´Ï´Ù.

    dumpe2fs
      ¾ÆÁÖ ÀÚ¼¼ÇÑ ÆÄÀÏ ½Ã½ºÅÛ Á¤º¸¸¦ Ç¥ÁØÃâ·ÂÀ¸·Î ´ýÇÁÇØ ÁÝ´Ï´Ù. ·çÆ®·Î ½ÇÇàµÇ¾ß ÇÕ´Ï´Ù.
      root# dumpe2fs /dev/hda7 | grep 'ount count'
      dumpe2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
       Mount count:              6
       Maximum mount count:      20
       					

    hdparm
      ÇÏµå µð½ºÅ© ¸Å°³º¯¼ö¸¦ º¸¿©Áְųª ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù. ·çÆ®·Î ½ÇÇà½ÃÄÑ¾ß µÇ°í À߸ø ¾µ °æ¿ì À§ÇèÇÒ ¼ö ÀÖ½À´Ï´Ù.

    fdisk
      º¸ÅëÀº ÇÏµå µå¶óÀ̺êÀÏ, ÀúÀå¿ë µð¹ÙÀ̽º¿¡ ´ëÇؼ­ ÆÄƼ¼Ç Å×À̺íÀ» ¸¸µé°í º¯°æÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. ·çÆ®·Î ½ÇÇàÇØ¾ß µË´Ï´Ù.

      ÁÖÀÇ: ÀÌ ¸í·É¾î´Â ¾ÆÁÖ Á¶½ÉÇؼ­ ½á¾ß µË´Ï´Ù. ¸¸¾à¿¡ ¹º°¡°¡ À߸øµÇ¸é ¿©·¯ºÐÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸Á°¡Æ®¸± ¼öµµ ÀÖ½À´Ï´Ù.

    fsck, e2fsck, debugfs
      ÆÄÀÏ ½Ã½ºÅÛ Ã¼Å©, Ä¡·á, µð¹ö±×¿ë ¸í·É¾îµé.

      fsck: À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛÀ» üũÇØ ÁÖ´Â ÇÁ·ÐÆ® ¿£µå(front end)·Î¼­ ´Ù¸¥ À¯Æ¿¸®Æ¼°¡ ÀÌ ¸í·É¾î¸¦ ºÎ¸§. ½ÇÁ¦·Î üũÇÒ ÆÄÀÏ ½Ã½ºÅÛ Å¸ÀÔÀº ext2°¡ ±âº»À¸·Î ÀâÇô ÀÖ½À´Ï´Ù.

      e2fsck: ext2 ÆÄÀÏ ½Ã½ºÅÛ Ã¼Ä¿.

      debugfs: ext2 ÆÄÀÏ ½Ã½ºÅÛ µð¹ö°Å.

      °æ°í: ÀÌ ¸í·É¾îµéÀº ·çÆ®·Î ½ÇÇà½ÃÄÑ¾ß ÇÕ´Ï´Ù. À߸ø ¾²¸é ÆÄÀÏ ½Ã½ºÅÛÀÌ ¼Õ»óµÇ°Å³ª ¸Á°¡Áú ¼öµµ ÀÖ½À´Ï´Ù.


    badblocks
      ÀúÀå¿ë µð¹ÙÀ̽º¿¡ ´ëÇØ ¹èµå ºí·°(¹Ìµð¾îÀÇ ¹°¸®ÀûÀÎ °áÇÔ)À» üũÇØ ÁÝ´Ï´Ù. »õ ÇÏµå µå¶óÀ̺긦 ¼³Ä¡ÇÏ°í Æ÷¸ËÇÒ ¶§³ª ¹é¾÷ ¹Ìµð¾îÀÇ ¹«°á¼ºÀ» Å×½ºÆ® Çغ¸·Á°í ÇÒ ¶§ ¾µ ¼ö ÀÖ½À´Ï´Ù. [4] ¿¹¸¦ µé¾î badblocks /dev/fd0 ¶ó°í Çϸé Ç÷ÎÇÇ µð½ºÅ©¸¦ Å×½ºÆ®ÇØ ÁÝ´Ï´Ù.

      badblocks ¸í·É¾î´Â ¸ðµç µ¥ÀÌŸ¸¦ ´Ù µ¤¾î½á¹ö¸®µµ·Ï ºÒ¸± ¼öµµ ÀÖ°í Àбâ Àü¿ë ¸ðµå·Î ¾ÈÀüÇÏ°Ô ºÒ¸± ¼öµµ ÀÖ½À´Ï´Ù. ·çÆ® »ç¿ëÀÚ°¡ Å×½ºÆ®ÇÒ µð¹ÙÀ̽º¸¦ ¼ÒÀ¯ÇÏ°í ÀÖ´Ù¸é, º¸Åë ±×·± »óȲÀÏÅ×Áö¸¸, ·çÆ®°¡ ÀÌ ¸í·É¾î¸¦ ½ÇÇà½ÃÄÑ¾ß ÇÕ´Ï´Ù.

    mkbootdisk
      ¿¹¸¦ µé¾î MBR(master boot record)ÀÌ ±úÁø »óȲµî¿¡¼­ ½Ã½ºÅÛÀ» ´Ù½Ã »ì¸± ¼ö ÀÖµµ·Ï ºÎÆà µð½ºÄÏÀ» ¸¸µé¾î ÁÝ´Ï´Ù. mkbootdisk´Â ½ÇÁ¦·Î´Â Erik TroanÀÌ ¸¸µç Bash ½ºÅ©¸³Æ®·Î /sbin µð·ºÅ丮¿¡ µé¾î ÀÖ½À´Ï´Ù.

    chroot
      ·çÆ® µð·ºÅ丮¸¦ ¹Ù²ãÁÝ´Ï´Ù(CHange ROOT directory). ¸í·É¾îµéÀº º¸Åë ±âº» ·çÆ® µð·ºÅ丮ÀÎ /¸¦ ±âÁØÀ¸·Î $PATH¿¡ µû¶ó Çؼ®µË´Ï´Ù. ÀÌ ¸í·É¾î´Â ÀÌ ·çÆ® µð·ºÅ丮¸¦ ´Ù¸¥ °÷À¸·Î ¹Ù²Û´ÙÀ½ ÀÛ¾÷ µð·ºÅ丮µµ ±× ÂÊÀ¸·Î ¹Ù²ãÁÝ´Ï´Ù. º¸¾È¿ëÀ¸·Î ¾ÆÁÖ À¯¿ëÇѵ¥, ¿¹¸¦ µé¸é ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ÅÚ³ÝÀ¸·Î Á¢¼ÓÁßÀÎ »ç¿ëÀÚ¸¦ º¸¾È°ú °ü·ÃµÈ ÆÄÀÏ ½Ã½ºÅÛ¿¡ Á¢±Ù½ÃÅ°Áö ¾ÊÀ¸·Á ÇÒ ¶§¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(°¡²û guest »ç¿ëÀÚ¸¦ "chroot °¨¿Á"(chroot jail)¿¡ °¡µÐ´Ù¶ó°íµµ ÇÕ´Ï´Ù). chrootÈÄ¿¡´Â ½Ã½ºÅÛ ¹ÙÀ̳ʸ®¿¡ ´ëÇÑ ½ÇÇà °æ·Î°¡ ´õ ÀÌ»ó ¸ÂÁö ¾Ê´Â °Í¿¡ ÁÖÀÇÇϱ⠹ٶø´Ï´Ù.

      chroot /opt ¶ó°í Çϸé /usr/binÀ» /opt/usr/binÀ̶ó°í Çؼ®ÇÕ´Ï´Ù. ºñ½ÁÇÏ°Ô, º¸ÅëÀÇ »óȲ¿¡¼­´Â /¸¦ ±âº» µð·ºÅ丮·Î »ïÁö¸¸ chroot /aaa/bbb /bin/ls ¶ó°í ÇÏ¸é ±× ÈÄ·Î ½ÇÇàµÇ´Â ls´Â /aaa/bbbÀ» ±âº» µð·ºÅ丮·Î ÀνÄÇÕ´Ï´Ù. »ç¿ëÀÚÀÇ ~/.bashrc¿¡ alias XX 'chroot /aaa/bbb ls' ¶ó´Â ÁÙÀ» ³ÖÀ¸¸é ±× »ç¿ëÀÚ°¡ "XX"¸¦ ½ÇÇà ½ÃÅ°´Â ÆÄÀÏ ½Ã½ºÅÛÀ» È¿°úÀûÀ¸·Î Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù.

      chroot´Â ºñ»ó¿ë ºÎÆ® Ç÷ÎÇÇ·Î ºÎÆÃÇßÀ» ¶§ ÆíÇÏ°Ô ¾µ ¼ö ÀÖ°í(/dev/fd0¿¡ chroot °É±â), ½Ã½ºÅÛÀÌ ¹Ú»ì³ª¼­ °íÄ¡·Á°í ÇÒ ¶§ lilo¿¡ ¿É¼ÇÀ¸·Î ÁÙ ¼öµµ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛÀ» ÅëÇؼ­ ¼³Ä¡¸¦ ÇÒ °æ¿ì³ª(rpm ¿É¼Ç), CDROM °°Àº Àбâ Àü¿ë ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ ½ÇÇàÇÒ ¶§ ¾µ ¼ö ÀÖ½À´Ï´Ù. ¿ÀÁ÷ ·çÆ® »ç¿ëÀÚ·Î ½ÇÇàÇÒ ¼ö ÀÖÀ¸¸ç, Á¶½ÉÇؼ­ ½á¾ß ÇÕ´Ï´Ù.

      °æ°í : ¸î °³ÀÇ ½Ã½ºÅÛ ÆÄÀϵéÀº chrootµÈ µð·ºÅ丮¿¡ º¹»çÇØ ³õ¾Æ¾ß $PATH°¡ ±×µéÀ» Á¦´ë·Î ÀνÄÇÒ ¼ö ÀÖ½À´Ï´Ù.

    lockfile
      ÀÌ À¯Æ¿¸®Æ¼´Â procmail ÆÐÅ°Áö ÁßÀÇ ÇϳªÀÔ´Ï´Ù(www.procmail.org ). ÀÌ ¸í·É¾î´Â Àá±Ý ÆÄÀÏÀ» ¸¸µé¾î Áִµ¥, Àá±Ý ÆÄÀÏÀ̶õ ƯÁ¤ ÆÄÀÏÀ̳ª µð¹ÙÀ̽º, ¸®¼Ò½º¿¡ ´ëÇؼ­ Á¢±Ù Á¦¾î¸¦ ÇØÁÖ´Â ¼¼¸¶Æ÷¾î ÆÄÀÏÀÔ´Ï´Ù. Àá±Ý ÆÄÀÏÀº ÀÌ Æ¯Á¤ÇÑ ÆÄÀÏ, µð¹ÙÀ̽º, ¸®¼Ò½º¸¦ ƯÁ¤ ÇÁ·Î¼¼½º°¡ ¾²°í ÀÖ´Ù("busy")´Â Ç÷¡±×·Î ¾²¿©, ´Ù¸¥ ÇÁ·Î¼¼½º¿¡°Ô Á¦ÇÑµÈ Á¢±Ù¸¸À» Çã¿ëÇϰųª ¾Æ¿¹ Á¢±ÙÀ» ¸øÇϵµ·Ï ¸¸µé¾î ÁÝ´Ï´Ù.

      Àá±Ý ÆÄÀÏÀº ¿©·¯ »ç¿ëÀÚ¿¡ ÀÇÇØ ½Ã½ºÅÛ ¸ÞÀÏ Æú´õ°¡ µ¿½Ã¿¡ º¯°æµÇ´Â °ÍÀ» ¸·¾ÆÁÖ°í, ¸ðµ© Æ÷Æ®°¡ »ç¿ëÁßÀ̶ó´Â °ÍÀ» ¾Ë·ÁÁÖ¸ç, ³Ý½ºÄÉÀÌÇÁ°¡ ij½¬¸¦ »ç¿ëÁßÀ̶ó´Â °ÍÀ» º¸¿©Áִµ¥ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼­ ƯÁ¤ ÇÁ·Î¼¼½º°¡ ¸¸µé¾î ³õÀº Àá±Ý ÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇؼ­ ±× ÇÁ·Î¼¼½º°¡ ÀÌ¹Ì ¶° ÀÖ´ÂÁö ¾Ë¾Æ³¾ ¼öµµ ÀÖ½À´Ï´Ù. ¸¸¾à¿¡ ½ºÅ©¸³Æ®¿¡¼­ ÀÌ¹Ì Á¸ÀçÇÏ´Â Àá±Ý ÆÄÀÏÀ» ´Ù½Ã ¸¸µé·Á°í ÇÑ´Ù¸é ±× ½ºÅ©¸³Æ®´Â ¸ØÃç ¹ö¸± ¼öµµ ÀÖÀ¸´Ï Á¶½ÉÇϱ⠹ٶø´Ï´Ù.

      º¸ÅëÀÇ ¾îÇø®ÄÉÀ̼ǵéÀº Àá±Ý ÆÄÀÏÀ» ¸¸µé°í üũÇÏ´Â ±âº» µð·ºÅ丮¸¦ /var/lock À¸·Î »ï½À´Ï´Ù. ´ÙÀ½ ½ºÅ©¸³Æ®Ã³·³ Çؼ­ Àá±Ý ÆÄÀÏÀÌ ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
      appname=xyzip
      # "xyzip" ¾îÇø®ÄÉÀ̼ÇÀº "/var/lock/xyzip.lock" ¶õ Àá±Ý ÆÄÀÏÀ» ¸¸µì´Ï´Ù.
      
      if [ -e "/var/lock/$appname.lock ]
      then
        ...
        					

    mknod
      ºí·° µð¹ÙÀ̽º³ª ¹®ÀÚ µð¹ÙÀ̽º ÆÄÀÏÀ» ¸¸µé¾î ÁÝ´Ï´Ù(¿¹¸¦ µé¸é Çϵå¿þ¾î¸¦ »õ·Î ¼³Ä¡ÇÒ °æ¿ì¿¡ ÇÊ¿äÇÏ°ÚÁÒ?).
    tmpwatch
      ƯÁ¤ ±â°£µ¿¾È Á¢±ÙÀÌ ¾ø´Â ÆÄÀÏÀ» ÀÚµ¿À¸·Î Áö¿öÁÝ´Ï´Ù. º¸ÅëÀº ¿À·¡µÈ ·Î±× ÆÄÀÏÀ» Áö¿ì±â À§ÇØ crond¿¡ °É¾î ³õ°í ¾¹´Ï´Ù.

    MAKEDEV
      µð¹ÙÀ̽º ÆÄÀÏÀ» ¸¸µé¾î ÁÖ´Â À¯Æ¿¸®Æ¼·Î¼­, ·çÆ®·Î ½ÇÇà½ÃÄÑ¾ß ÇÕ´Ï´Ù. ÀÌ ¸í·É¾î´Â /dev µð·ºÅ丮¿¡ ÀÖ½À´Ï´Ù.

      root# ./MAKEDEV
                          

      ÀÌ ¸í·É¾î´Â ÀÏÁ¾ÀÇ mknodÀÇ Çâ»óµÈ ¹öÀüÀÔ´Ï´Ù.

½Ã½ºÅÛ ¸®¼Ò½º
    ulimit
      ½Ã½ºÅÛ ¸®¼Ò½º¿¡ ´ëÇؼ­ ÃÖ´ë ÇÑ°è(upper limit)¸¦ ÁöÁ¤ÇØ ÁÝ´Ï´Ù. º¸Åë -f ¿É¼ÇÀ» ½á¼­ ½©ÀÌ ¸¸µé ¼ö ÀÖ´Â ÆÄÀÏ Å©±â¸¦ Á¦ÇÑ ½Ãŵ´Ï´Ù(ulimit -f 1000 À̶ó°í Çϸé ÆÄÀÏ Å©±â¸¦ 1 ¸Þ°¡·Î Àâ¾Æ ÁÝ´Ï´Ù). -t ¿É¼ÇÀº ÄÚ¾î´ýÇÁ ÆÄÀÏÀÇ Å©±â¸¦ Á¦ÇÑ ½Ãŵ´Ï´Ù(ulimit -c 0 À̶ó°í Çϸé ÄÚ¾î´ýÇÁ¸¦ »ý¼º½ÃÅ°Áö ¾Ê½À´Ï´Ù). ulimit °ªÀº º¸Åë, /etc/profileÀ̳ª ~/.bash_profile¿¡¼­ ÁöÁ¤ÇØ ÁÝ´Ï´Ù(27Àå Âü°í).


    umask
      »ç¿ëÀÚ(User) ÆÄÀÏ »ý¼º ¸¶½ºÅ©(MASK). »ç¿ëÀÚ °¢ÀÚÀÇ ±âº» ÆÄÀÏ ¼Ó¼º