http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=526 [º¹»ç]
À¯´Ð½º ¸í·É¾î(File System)UNIXÀÇ file systemÀÇ Æ¯Â¡Àº directory¿Í file Áß½ÉÀÇ tree ±¸Á¶ÀÌ´Ù. ¸ðµç ÀåÄ¡³ª ÀÚ¿ø ( CPU, TAPE, CDROM, NETWORK, TERMINAL µî )µµ file ÇüÅ·ΠÁ¢±ÙÇϵµ·Ï ÇÏ¿© µ¿ÀÏÇÑ Ã³¸®¹æ½ÄÀ» Áö¿øÇÑ´Ù. File systemÀº i-node¶ó°í ÇÏ´Â µî·ÏÁ¤º¸¿¡ ÀÇÇØ °ü¸®µÇ¸ç fileÀÇ ¼ÒÀ¯ÀÚ°¡ ¼³Á¤ÇÏ´Â »ç¿ë ±ÇÇÑ¿¡ µû¶ó Á¢±ÙÀÌ Çã¿ëµÇ°Å³ª ±ÝÁöµÈ´Ù.
°¢ »ç¿ëÀÚ´Â login ÇÏ¿´À» ¶§ ±âº»ÀûÀ¸·Î À§Ä¡ÇϰԵǴ °íÀ¯ÀÇ HOME directory¸¦ °¡Áö¸ç ÀÌ directory´Â ÀÚ½ÅÀÇ ¼ÒÀ¯·Î¼ ±× directory³»¿¡ ¸¸µå´Â ¸ðµç ÈÀÏ°ú sub directory´Â ±× »ç¿ëÀÚÀÇ ¼ÒÀ¯°¡ µÈ´Ù. ¸ðµç »ç¿ëÀÚ´Â ±âº»ÀûÀ¸·Î ´Ù¸¥ directory·ÎÀÇ À̵¿ÀÌ ÀÚÀ¯·Î¿ì³ª Ưº°È÷ ±× directoryÀÇ ¼ÒÀ¯ÀÚ°¡ Á¢±ÙÀ» ±ÝÁöÇÏÁö ¾Ê´Â ÇÑ ±× directory³»·Î Á¢±ÙÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î UNIXÀÇ ±âº»ÀûÀÎ directoryÀÎ /, /usr/bin, /bin, /etc, /var, /dev µîÀÇ directoryµîÀº ¸ðµç »ç¿ëÀÚ°¡ Á¢±ÙÀÌ °¡´ÉÇϸç UNIXÀÇ ¿î¿µÃ¼Á¦¿Í °ü·ÃµÈ ´ëºÎºÐÀÇ programÀÌ À§Ä¡ÇÏ°í ÀÖ´Ù.
±×·¯³ª Ưº°È÷ º¸¾ÈÀ» ÇÊ¿ä·Î Çϰųª ºÒÇÊ¿äÇÑ Á¢±ÙÀ» Á¦ÇÑÀ» Çϱâ À§Çؼ´Â super user (root)³ª file ¼ÒÀ¯ÀÚ¿¡ ÀÇÇØ Á¢±ÙÀ» ±ÝÁö½Ãų ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ directory·Î´Â change°¡ µÇÁö ¾Ê°Å³ª »õ·Î¿î fileÀ» º¹»çÇϰųª fileÀÇ ³»¿ëÀ» º¼ ¼ö ¾ø´Ù.
UNIX ¸í·É¾îÀÇ ´ëºÎºÐÀº °£´ÜÇÑ °³³ä Áß½ÉÀÇ ½ÇÇàÀ» ÇÑ´Ù. Áï °¢ programÀº Çϳª ¿©·¯°¡Áö Áߺ¹µÇ´Â º¹ÀâÇÑ ±â´ÉÀÌ Àִ°ÍÀÌ ¾Æ´Ï¶ó °£´ÜÇÑ ÇÑ µÎ°¡ÁöÀÇ ±â´É¸¸À» °¡Áø´Ù. ÀÌ programµéÀ» ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î Àß Á¶ÇÕÇÏ¿© º¸´Ù º¹ÀâÇÑ ÀÏÀ» ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ƯÈ÷ pipe¿Í filterÀÇ ¿ªÇÒÀº shell programÀ̳ª °¢ process°£ÀÇ Åë½Å¿¡ °ü·ÃµÈ ÇÙ½ÉÀûÀÎ ¿ä¼Ò·Î¼ ´Ù¸¥ program°úÀÇ Á¶È¿¡ Áß¿äÇÑ Àǹ̸¦ Áö´Ñ´Ù.
¿¹¸¦ µé¸é "sort" programÀº Ç¥ÁØ ÀÔ·Â( keyboard )À¸·Î ¹Þ¾ÆµéÀÎ ÀÔ·Â ³»¿ëÀ» ¼ø¼´ë·Î Á¤·ÄÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ±×·¯³ª "ls -l | sort +4 "¶ó´Â ¸í·ÉÀº "ls -l"ÀÇ ½ÇÇà °á°ú¸¦ 5¹ø° fieldÀÎ file sizeÀÇ ¼ø¼´ë·Î Á¤·ÄÇؼ Ãâ·ÂÇÑ´Ù. Áï sort¸¦ ´Ù¸¥ ¸í·ÉÀÇ °á°ú¿Í Á¶ÇÕÇÏ¿© º¸´Ù º¹ÀâÇÑ ÀÏÀ» ó¸®ÇÒ ¼ö ÀÖ°ÔÇÏ¿© ´Ù¸¥ programÀ» ÀÛ¼ºÇÏ´Â »ç¶÷ÀÌ ±»ÀÌ º¹ÀâÇÑ Á¤·Ä¿¡ °ü·ÃµÈ ¼ö°í¸¦ ÇÏÁö ¾Ê¾Æµµ µÇµµ·Ï ÇÑ´Ù. 1. lsls´Â ƯÁ¤ directory³»ÀÇ ÈÀÏ ½Ã½ºÅÛ ¸®½ºÆ®¸¦ º¸±â À§ÇÑ ¸í·ÉÀÌ´Ù. »ç¿ë ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù. -aAll Entry. Dot(.)·Î ½ÃÀÛÇÏ´Â ÈÀϱîÁö º¸¿©ÁØ´Ù. -A-a¿Í °°À¸³ª current directory(.), parent directory(..) µÎ°³´Â Á¦¿ÜµÊ. -C¿©·¯ÁÙ·Î ÁÙ¿©¼ ÈÀÏ À̸§¸¸ sortÇؼ º¸¿©ÁÖ´Â ¿É¼Ç( default ) -dargument°¡ directoryÀÎ °æ¿ì È®ÀåÇÏÁö ¾Ê°í directoryÀ̸§¸¸ º¸¿©ÁØ´Ù. -fargument°¡ directoryÀÎ °Íó·³ È®ÀåÀ» ÇÑ´Ù. -l, -t, -s, -r optionÀº ¹«½ÃµÈ´Ù. -Fµð·ºÅ丮ÀÎ °æ¿ì "/", ½ÇÇàÈÀÏÀÎ °æ¿ì "*", symbolic linkÀÎ °æ¿ì "@"¸¦ ºÙÀδÙ. -g¼ÒÀ¯ÀÚ¸¦ º¸¿©ÁÖÁö ¾Ê´Â long ( -l option°ú À¯»ç ) -lLong format. mode, link, owner, group, size, date, timeÀ¸·Î °¡Àå ÀÚ¼¼ÇÔ. -Largument°¡ symbolic link¸é ¿ø·¡ÀÇ ÂüÁ¶µÇ´Â ÈÀÏÀ» º¸¿©ÁÜ. -mcomma(,)·Î ºÐ¸®ÇÏ¿© º¸¿©ÁÜ. -o-l option°ú À¯»çÇϳª groupÀ» º¸¿©ÁÖÁö ¾ÊÀ½ -pµð·ºÅ丮 À̸§ µÚ¿¡´Â "/"¸¦ ºÙ¿© º¸¿©ÁØ´Ù. -rÀϹÝÀûÀÎ ¼ø¼ ( À̸§¼ø, ÃÖ±Ù ÈÀÏ µî )ÀÇ ¿ª¼øÀ¸·Î Ãâ·ÂÇÑ´Ù. -RSub directory°¡ ÀÖÀ¸¸é ±× sub directory³»¿ëµµ º¸¿©ÁØ´Ù. -tÈÀÏÀÇ »ý¼º ½Ã°£¼øÀ¸·Î º¸¿©ÁØ´Ù. -xSortµÈ ¼ø¼·Î ¿·À¸·Î ³ª¿ÇÏ¿© ¿©·¯ÁÙ·Î º¸¿©ÁØ´Ù. ( -C optionÀº ¾Æ·¡·Î ³ª¿) -1ÇÑÁÙ¿¡ ÇϳªÀÇ ¸®½ºÆ®¸¸ Ãâ·Â 2. cdcd´Â change directoryÀÇ ¾à¾î·Î cwd( current working directory)¸¦ ¹Ù²Ù´Â ¿ªÇÒÀ» ÇÑ´Ù. Áï ÇöÀç »ç¿ëÀÚ°¡ À§Ä¡ÇÑ directory¸¦ ´Ù¸¥ °÷À¸·Î À̵¿ÇÑ´Ù. »ç¿ëÀÚÀÇ ÀÛ¾÷ directory´Â ÈÀÏÀ» ¸¸µé°Å³ª º¹»ç¸¦ ÇÏ¸é ±âº»ÀûÀ¸·Î À§Ä¡ÇÏ´Â °÷À̸ç file À̸§À» ÁöÁ¤ÇÏ´Â ±âº»ÀûÀÎ À§Ä¡°¡ µÈ´Ù."cd"µÚ¿¡ directory¸íÀ» ¾²Áö ¾ÊÀ¸¸é ±âº»ÀûÀÎ HOME directory·Î °¡°Ô µÈ´Ù. Bourne shell°ú C-shell¿¡¼´Â "chdir"¶ó°í ½áµµ µÈ´Ù.
synopsis :
/usr/bin/cd [ directory ] 3. pwdÇöÀçÀÇ ÀÛ¾÷ µð·ºÅ丮 ( working directory )¸¦ Ç¥½ÃÇϱâ À§ÇÑ ¸í·É.
synopsis :
/usr/bin/pwd 4. catcat ¸í·ÉÀº concatenateÀÇ ¸ñÀûÀ» Áö´Ï°í ÀÖÀ¸¸ç ½ÇÁ¦·Î´Â displayÀÇ ±â´ÉÀ» ÇÑ´Ù. Áï ÇϳªÀÇ ÈÀÏÀ» ´Ù¸¥ ÈÀÏ·Î º¸³»´Â ¿ªÇÒÀ» ÇÑ´Ù. ¸¸¾à ÃÖÁ¾ ÈÀÏÀÌ screenÀ̶ó¸é ȸéÀ¸·Î Ãâ·ÂÀÌ µÇ°í ÃÖÁ¾ Ãâ·ÂÀÎ disk»óÀÇ ÈÀÏÀ̶ó¸é ÈÀÏ·Î »ý¼ºÀÌ µÈ´Ù. ¿©·¯°³ÀÇ ÈÀÏÀ» ÇѲ¨¹ø¿¡ º¸³»¸é ÃÖÁ¾ Ãâ·Â ÈÀÏ¿¡´Â ÇϳªÀÇ ÈÀÏ·Î ÇÕÃÄÁ® ÇϳªÀÇ ÈÀÏÀÌ »ý¼ºµÈ´Ù.
synopsis :
/bin/cat [ -nbsuvet ] [ file... ]
¸¸¾à ´ÙÀ½°ú °°Àº ÇüŶó¸é file1, file2, file3ÀÇ ³»¿ëÀ» ¼ø¼´ë·Î fileout¿¡ Ãâ·ÂÀ» ÇÏ°ÔµÇ´Ï °á°úÀûÀ¸·Î file1, file2, file3¸¦ fileoutÀ̶ó´Â À̸§À¸·Î ÇÕÇÑ°Í°ú °°Àº ¿ªÇÒÀÌ´Ù.
Ex)cat file1 file2 file3 >fileout
¸¸¾à Ãâ·Â ÈÀÏÀ̸§ÀÌ ¾øÀ¸¸é ȸéÀ¸·Î Ãâ·ÂµÈ´Ù.
Ex) cat file1
¸¸¾à ÀÔÃâ·ÂÀ¸·Î °¢°¢ ÇϳªÀÇ ÈÀÏ À̸§À» ¾²¸é °á±¹ ÈÀÏÀÇ copy¿Í °°Àº ¿ªÇÒÀ» ÇϰԵȴÙ.
Ex) cat file1 >file2 5. cpcp¸í·ÉÀº ÈÀÏÀÇ ³»¿ëÀ» ´Ù¸¥ ÈÀÏ·Î ¶È°°ÀÌ º¹»çÇÏ´Â µ¥ »ç¿ëÇÑ´Ù.
synopsis :
/usr/bin/cp [ -fip ] source-file.... target-file
/usr/bin/cp -r|-R source-directory target-directory
UNIX¸í·ÉÀÇ ÀüÇüÀûÀΠƯ¡Áß Çϳª·Î cp ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© directory±îÁö º¹»ç°¡ °¡´ÉÇϸç sub directoryÀÎ °æ¿ì sub directory³»ÀÇ ÈÀÏ »Ó¸¸ ¾Æ´Ï¶ó sub directoryÀÇ sub directory ±îÁö ( recursive ) º¹»çÇÑ´Ù. 6. rmFile systemÀ» Áö¿ì´Â ¸í·É. fileÀ̳ª directory¸¦ Áö¿ì¸ç ¸¸¾à "r"¿É¼Ç°ú ÇÔ²² directoryÀÇ À̸§À» ¾²¸é directory¸¦ Áö¿î´Ù.
synopsis :
/usr/bin/rm [ -f ] file...
/usr/bin/rm -rR [-f] [-i] directory [file...]
-r optionÀ» ÀÌ¿ëÇϸé sub directoryÀÇ ³»¿ë±îÁö ÇѲ¨¹ø¿¡ Áö¿ì°Ô µÈ´Ù. ¸¸¾à permissionÀÌ ¾øÀ¸¸é( file¿¡ ´ëÇÑ write permission : "ls -l"¸í·ÉÀ» ³»·ÈÀ» ¶§ ³ªÅ¸³ª´Â permission Áß rw-rw--w-¿Í °°ÀÌ "w" permissionÀÌ ÀÖ¾î¾ß Áö¿ï ¼ö ÀÖ´Ù. ) ¿¡·¯¸¦ ³»°í ÁßÁöÇÑ´Ù. 7. mvFileÀ̳ª directory¸¦ ´Ù¸¥ fileÀ̳ª directory·Î ¿Å±â´Â ¸í·É.
synopsis :
/usr/bin/mv [ -fi ] source-file target-file
/usr/bin/mv [ -fi ] source.. target-directory
FileÀ̳ª directory¸¦ ´Ù¸¥ fileÀ̳ª directory·Î ¿Å±â´Â ¿ªÇÒÀº °°Àº directory³»¿¡¼ fileÀÇ À̸§À» ¹Ù²Ù´Â ¿ªÇÒµµ ÇÒ ¼ö ÀÖ´Ù. Áï °°Àº direcotry³»¿¡¼ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ³»¸®¸é fileÀÇ À̸§À» ¹Ù²Ù´Â ±â´ÉÀ» ÇÑ´Ù.
Ex) mv file1 myfile 8. mkdir/rmdirmkdir : »õ·Î¿î directory¸¦ ¸¸µå´Â ¸í·É
rmdir : directory¸¦ Áö¿ì´Â ¸í·É ( ÁÖ·Î rm -r ¸í·ÉÀ» »ç¿ë )
synopsis :
/bin/mkdir [ -m mode ] [ -p ] dir ... 9. lnHard/Soft link¸¦ ¿¬°áÇÏ´Â ¸í·É
synopsis :
/usr/bin/ln [ -fns ] source-file [target]
Link´Â °°Àº ³»¿ëÀÇ ¼·Î ´Ù¸¥ µÎ file systemÀÌ ÇÊ¿äÇÑ °æ¿ì »õ·Î¿î file·Î º¹»ç¸¦ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ´Ù¸¥ file·ÎÀÇ ÂüÁ¶ pointer¸¦ °¡Áö´Â ¹æ¹ýÀ¸·Î disk¸¦ ³¶ºñÇÏÁö ¾Ê°í, ÀÏ°ü¼ºÀ» À¯ÁöÇÏ°í ÀÛ¾÷À» Æí¸®ÇÏ°Ô Çϴ Ư¡À» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î ¼·Î ´Ù¸¥ µÎ°³ÀÇ programÀÌ /etc/passwd ÈÀÏ°ú /usr/local/etc/passwdÈÀÏÀ» °¢°¢ ÂüÁ¶ÇÏ´Â µ¥ µÎ°³ÀÇ fileÀÌ ²À °°¾Æ¾ß ÇÑ´Ù¸é ¸Å¹ø º¹»ç¸¦ ÇÏ´Â °Í º¸´Ù link¸¦ ¼³Á¤ÇÏ¿© ÈÀÏÀÇ ³»¿ëÀÌ ¹Ù²î´Â °Í¿¡ »ó°ü¾øÀÌ Ç×»ó ÀÏÁ¤ÇÑ ³»¿ëÀ» ÂüÁ¶ÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. |
Hit : 8531 Date : 2006/06/01 10:10
|