Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom Bar]
[Photo of the Author]
Guido Socher

ÀúÀÚ¿¡ °üÇÏ¿©: ÀÚÀ¯·Î¿î ½Ã½ºÅÛÀÌ¸ç ¶ÇÇÑ Àü ¼¼°èÀÇ ¸®´ª½º °øµ¿Ã¼ÀÇ »ç¶÷µé°ú ÇÔ²² ÀÏÇÏ´Â °Íµµ ¸Å¿ì Å« Áñ°Å¿òÀ̱⠶§¹®¿¡ ¸®´ª½º¸¦ »ç¶ûÇÑ´Ù. ¿©°¡½Ã°£¿¡´Â ¿©ÀÚÄ£±¸¿Í ½Ã°£À» º¸³»°Å³ª BBC World Service radio¸¦ µè°Å³ª ½Ã°ñ±æÀ» ÀÚÀü°Å¸¦ Ÿ°í ´Þ¸®°Å³ª ¸®´ª½º¸¦ °¡Áö°í ³ë´Â °ÍÀ» Áñ±ä´Ù.

ÀúÀÚ¿¡°Ô ÆíÁö º¸³»±â

¸ñÂ÷:
À̸§À¸·Î ÆÄÀÏ Ã£±â
ÀüüÀûÀÎ ¸ð½À º¸±â
³»¿ëÀ¸·Î ÆÄÀÏ Ã£±â

ÆÄÀÏ Ã£±â

[Illustration]

ÃÊ·Ï: ÀÌ ¹®¼­´Â À̸§°ú ±× ³»¿ëÀ¸·Î ¾î¶»°Ô ÆÄÀÏÀ» ã´ÂÁö¿¡ ´ëÇÑ °³°ýÀûÀÎ ³»¿ëÀ» ¾Ë·ÁÁØ´Ù.



À̸§À¸·Î ÆÄÀÏ Ã£±â

¾Æ¸¶µµ ÀÌ·¯ÇÑ ¹®Á¦¸¦ °æÇèÇØ º¸¾ÒÀ» °ÍÀÌ´Ù: ¾î¶² ÆÄÀÏÀ» °¡Áö°í ÀÖ¾ú´Âµ¥ ¾îµð¿¡´Ù µ×´ÂÁö ±â¾ïÀ» ¸øÇÏ°Ú´Ù.

ÀÌ·± °æ¿ì¿¡ find ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¸é °£´ÜÇÏ°Ô µÈ´Ù. ¾î¶»°Ô »ç¿ëÇÒ±î? find ´Â Ä¿´Ù¶õ man ÆäÀÌÁö¿Í ÇÔ²² ¼³Ä¡µÇÁö¸¸ "ÀϹÝÀûÀÎ °æ¿ì"¸¦ »ìÆ캸±â·Î ÇÏÀÚ. ÇöÀç µð·ºÅ丮·ÎºÎÅÍ ½ÃÀÛÇؼ­ lostfile.txt ¶ó´Â ÆÄÀÏÀ» µð·ºÅ丮 Æ®¸®¸¦ µû¶ó¼­ ã¾Æº¸·Á ÇÑ´Ù¸é ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù.

find . -name lostfile.txt -print

find ´Â ¶ÇÇÑ ¿ÍÀϵåÄ«µå ¹®ÀÚµµ ¹Þ¾ÆµéÀδÙ. ½©ÀÌ ¿ÍÀϵåÄ«µå ¹®ÀÚ¸¦ find·Î ³Ñ±â±â Àü¿¡ È®ÀåÇÏ´Â °ÍÀ» ¸·±â À§Çؼ­ ÀοëºÎÈ£·Î °¨½Î´Â °ÍÀ» ÀØÁö ¸»¾Æ¾ß ÇÑ´Ù. ¾Æ·¡¿¡ ±×·¯ÇÑ ¿¹°¡ ÀÖ´Ù.

find . -name "lost*" -print

Ä¿´Ù¶õ µð·ºÅ丮 Æ®¸®¿¡¼­ °Ë»öÀ» ÇÒ °æ¿ì¿¡´Â À§¿Í °°Àº ¸í·ÉµéÀº ²Ï ´À¸± ¼ö ÀÖ´Ù. locate ¸í·É¾î¸¦ »ç¿ëÇÏ´Â °Íµµ µµ¿òÀ» ÁØ´Ù. ÀÌ ¸í·É¾î´Â ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ Á÷Á¢ ÆÄÀÏÀ» ãÁö´Â ¾Ê´Â´Ù. µ¥ÀÌÅͺ£À̽º¸¦ °Ë»öÇÒ »ÓÀÌ´Ù. ÀÌ·¸°Ô Çϸé ÈξÀ ºü¸£±ä ÇÏÁö¸¸ µ¥ÀÌÅͺ£À̽º°¡ ¿¹ÀüÀÇ °ÍÀÏ ¼öµµ ÀÖ´Ù. ¾î¶² ¹èÆ÷Æǵ鿡¼­´Â locate·Î »ý¼ºµÈ µ¥ÀÌÅͺ£À̽º°¡ ¸ÅÀÏ ¹ã ¾÷µ¥ÀÌÆ®µÇÁö¸¸, µ¥ÀÌÅͺ£À̽º¸¦ ¾÷µ¥ÀÌÆ®Çϱâ À§ÇØ updatedb ¸í·É¾î¸¦ ¼ö½Ã·Î ÀÛµ¿½ÃÄѵµ µÈ´Ù. locate ´Â substringµµ °Ë»öÇÑ´Ù.

locate lostfile

ÀÌ·¸°Ô Çϸé lostfile.txt ³ª mylostfile.txt µîµîÀÇ ÆÄÀÏÀÇ À§Ä¡¸¦ ¾Ë·ÁÁÖ°Ô µÉ °ÍÀÌ´Ù.

Áö±Ý±îÁö´Â ÆÄÀÏ À̸§ÀÌ ¹«¾ùÀÎÁö ²Ï Á¤È®ÇÏ°Ô ¾Æ´Â °Íµé¸¸ ã¾Æ º¸¾Ò´Ù. ¾î¼¸é ÆÄÀÏ À̸§ÀÌ lostfile.txt°¡ ¾Æ´Ï¶ó lastfile.txt À̳ª leastfile.txt ¶Ç´Â lostfiles.txt, Lotsfile.txt, lostfile.text ÀÏ ¼öµµ ÀÖ°í, À̸§À» Á¤È®ÇÏ°Ô ±â¾ïÇÏÁö ¸øÇÒ ¼öµµ ÀÖ´Ù. ¾î¶»°Ô ÇÏ¸é ±×·± °æ¿ì¿¡µµ ÆÄÀÏÀ» ãÀ» ¼ö ÀÖÀ»±î? ÀÌ·¯ÇÑ °æ¿ì¿¡´Â ftff ¶ó´Â ¿À·ù¿¡ °ü´ëÇÑ ÆÄÀÏ Ã£±â (fault tolerant file find) À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ftff ´Â ÆÄÀÏÀ» ãÀ¸¸é¼­ ¸î ¸î "½ºÆ縵 ¿À·ù"¸¦ Çã¿ëÇÑ´Ù. ÀÌ ¸í·É¾î´Â Á¶±Ý¾¿ À߸ø ÀûÈù ÆÄÀÏ À̸§µéÀ» ¸ðµÎ ãÀ» °ÍÀÌ´Ù.

ftff lostfiles.txt

Çã¿ëµÇ´Â ½ºÆ縵 ¿¡·¯ÀÇ °³¼ö´Â ÆÄÀÏÀÇ À̸§ÀÇ ±æÀÌ¿¡ ÀÇÇØ °áÁ¤µÇÁö¸¸ -t ¿É¼ÇÀ¸·Î ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. ÃÖ´ë 2°³ÀÇ ¿À·ù¸¦ Çã¿ëÇÏ°í ¿ÍÀϵåÄ«µå ¹®ÀÚµµ »ç¿ëÇÏ°í ½Í´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ¸é µÈ´Ù.

ftff -t2 "lostfiles*"

ftff ´Â ÇÊÀÚ°¡ Á÷Á¢ ¸¸µç ÇÁ·Î±×·¥À̸ç whichman-1.4 ¶ó´Â ÆÐÅ°ÁöÀÇ ÀϺÎÀÌ´Ù. ÀÌ ÆÐÅ°Áö´Â ¾Æ·¡ÀÇ »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

sunsite.unc.edu/pub/Linux/apps/doctools/whichman-1.4.tar.gz

¾î¶² °æ¿ì¿¡´Â ƯÁ¤ ¹®ÀÚ¿­À» Æ÷ÇÔÇÏÁö ¾Ê´Â ¸ðµç ÆÄÀÏÀ» ã°í ½ÍÀº °æ¿ìµµ ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¸é .o ¿Í .c ¸¦ Á¦¿ÜÇÑ ÆÄÀÏÀ» ã°í ½ÍÀ» °ÍÀÌ´Ù. ±×·¸°Ô ÇÒ ¼ö ÀÖ´Â ¸î ¸î ¹æ¹ýÀº ¾Æ·¡¿Í °°´Ù.

find . ! -name "*.o" ! -name "*.c" -print
find . -print | fgrep -v '.o' | fgrep -v '.c'
findÀÇ gnu ¹öÀüÀÌ ÀÖ´Ù¸é: find | fgrep -v '.o' | fgrep -v '.c'
find | egrep -v '\.[oc]'

ÆÄÀÏ ½Ã½ºÅÛÀÇ ÀüüÀûÀÎ ¸ð½À º¸±â

¾î¶² °æ¿ì¿¡´Â ÆÄÀÏ ½Ã½ºÅÛÀÇ ÀüüÀûÀÎ ¸ð½ÀÀ» º¸°í ½ÍÀº °æ¿ìµµ ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¸é »õ·Î¿î CD¸¦ ±¸ÇßÀ» ¶§ °Å±â¿¡ ¹«¾ùÀÌ µé¾î ÀÖ´ÂÁö ¾Ë°í ½ÍÀº °æ¿ì¿Í °°ÀÌ ¸»ÀÌ´Ù. ±×³É ls -R ¸í·ÉÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù. °³ÀÎÀûÀ¸·Î ÇÊÀÚ´Â °¡µ¶¼ºÀ» À§Çؼ­ ¸í·É¾î¸¦ ¼±È£ÇÑ´Ù. tree ( sunsite.unc.edu/pub/Linux/utils/file/tree-1.2.tgz ) ÇÁ·Î±×·¥Àº Æ®¸® ´ÙÀ̾î±×·¥À» ±×·ÁÁØ´Ù.

tree
¶Ç´Â ÆÄÀÏ À̸§µµ º¸·Á¸é: tree -fF

¹°·Ð ¿À·¡ µÇ¾úÁö¸¸ ÁÁÀº find ¸¦ »ç¿ëÇصµ µÈ´Ù. º¸Åë ¸®´ª½º¿¡ µé¾î ÀÖ´Â gnu ¹öÀüÀÇ find ´Â ÆÄÀÏ »çÀÌÁ ÆÄÀÏ À̸§°ú ÇÔ²² Ãâ·ÂÇÏ´Â °Í °°ÀÌ Ãâ·Â ÇüŸ¦ ¹Ù²Ü ¼öµµ ÀÖ´Ù.

find . -ls
find . -print ¶Ç´Â gnu find ·Î´Â: find
find . -printf "%7s %p\n"

À¯»çÇÑ ±â´ÉÀ» ÇÏ´Â ls ¸í·É¾îÀÇ perl wrapper µµ ÀÖ´Ù. ±×°ÍÀº ¿©±â: lsperl.gz ¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. ¾Æ¸¶ ÈξÀ ´õ ¸¹Àº ÆÄÀÏ º¸±â ÅøÀ» ãÀ» ¼öµµ ÀÖ°ÚÁö¸¸ ´ëºÎºÐÀÇ °æ¿ì ÀÌ Á¤µµ¸é ÃæºÐÇÏ°íµµ ³²´Â´Ù.

³»¿ëÀ¸·Î ÆÄÀÏ Ã£±â (ÆÄÀÏ ¾ÈÀÇ ÅؽºÆ® ¹®ÀÚ¿­ ã±â)

ÆÄÀÏ ¾ÈÀÇ ÅؽºÆ® ¹®ÀÚ¿­À» ã´Â Ç¥ÁØÀûÀÎ À¯Æ¿¸®Æ¼´Â Á¤±ÔÇ¥Çö½Ä(regular expression)À» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â grep/egrep ÀÌ°í ÀÏ¹Ý ¹®ÀÚ¿­À» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â fgrep ÀÌ´Ù. ÇöÀç µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏ¿¡¼­ ¾î¶°ÇÑ Ç¥ÇöÀ» ãÀ» ¶§¿¡´Â ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ¸é µÈ´Ù.

egrep -i "search expression" *

ÇÏÀ§ µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀϵ鿡¼­ ¹®ÀÚ¿­À» ã´Â °æ¿ì¿¡´Â egrep °°Àº °ÍÀ» find ³ª ´Ù¸¥ °Ë»ö ¸í·É¾î¿Í ÇÔ²² ¾²¸é µÈ´Ù. ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ±×·¸°Ô ÇÒ ¼ö ÀÖ´Ù.

egrep -i "expression" `find . -type f -print`
find . -type f -exec egrep -i "expression" /dev/null {} \;
find . -type f -print | xargs egrep -i "expression"

¸¸¾à¿¡ ±â¾ïÇϱⰡ Èûµé´Ù¸é here: grepfind.gz ¿¡¼­ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Â °£´ÜÇÑ ½© ½ºÅ©¸³Æ®¸¦ »ç¿ëÇصµ µÈ´Ù. ÀÌ ½ºÅ©¸³Æ®´Â egrep ÀÌ ¿ì¿¬ÇÏ°Ô ¹ÙÀ̳ʸ® ÆÄÀÏÀ» °Ë»çÇÏ°Ô µÇ´Â °æ¿ì¿¡ Ãâ·ÂÇÒ ¼ö ¾ø´Â ¹®ÀÚ¸¦ Á¦°ÅÇϵµ·Ï ÇÏ´Â ±â´Éµµ ÀÖ´Ù.

¸Å¿ì Èï¹Ì·Î¿î °Ë»ö ÇÁ·Î±×·¥À¸·Î agrep ÀÌ ÀÖ´Ù. agrep Àº ±âº»ÀûÀ¸·Î egrep °ú °°ÀÌ µ¿ÀÛÇÏÁö¸¸ ¿À·ù¿¡ °ü´ëÇÑ °Ë»ö(fault tolerant search)À» ¼öÇàÇÑ´Ù. ¾î¶°ÇÑ Ç¥ÇöÀ» ãÀ¸¸é¼­ ÃÖ´ë 2°³ÀÇ ½ºÆ縵 ¿À·ù¸¦ Çã¿ëÇÏ·Á¸é ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ³»¸®¸é µÈ´Ù.

agrep -i -2 "search exprission" *

agrep ÇÁ·Î±×·¥Àº sunsite ftp://sunsite.unc.edu/pub/Linux/utils/text/agrep-2.04.tar.Z ·ÎºÎÅÍ ´Ù¿î·Îµå¹Þ°Å³ª ¿À¸®Áö³¯ »çÀÌÆ®ÀÎ ftp://ftp.cs.arizona.edu/agrep/ ·ÎºÎÅÍ ´Ù¿î·Îµå¹ÞÀ» ¼öµµ ÀÖ´Ù.

±×¸®°í glimpse ¶ó´Â ÇÁ·Î±×·¥µµ ÀÖ´Ù. glimpse ´Â ¸Å¿ì °­·ÂÇÑ °Ë»ö À¯Æ¿¸®Æ¼ÀÌ´Ù. ±×°ÍÀº locate ¿Í À¯»çÇÑ °³³äÀ» »ç¿ëÇÑ´Ù. ¿ì¼± µ¥ÀÌÅͺ£À̽º¸¦ ±¸ÃàÇØ¾ß ÇÏÁö¸¸ °Ë»öÀº ¸Å¿ì ºü¸£´Ù. ÇöÀç µð·ºÅ丮·ÎºÎÅÍ ½ÃÀÛÇÏ´Â ¸ðµç ÆÄÀÏÀÇ °Ë»ö À妽º¸¦ ¸¸µé·Á¸é ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ¸é µÈ´Ù.

glimpseindex .

ÀÌÈķδ ÀÌÀü¿¡ À妽º¿¡ ¼ö·ÏµÈ ¸ðµç ÆÄÀÏ ¾ÈÀÇ ¹®ÀÚ¿­À» °Ë»öÇÒ ¼ö ÀÖ´Ù.

glimpse -i -2 "search exprission"

glimpse ´Â agrep °ú ¸¶Âù°¡Áö·Î ¿À·ù¿¡ °ü´ëÇϸç -2 ´Â µÎ °³ÀÇ ¿À·ù±îÁö Çã¿ëÇÑ´Ù´Â ¶æÀÌ´Ù. glimpse´Â http://glimpse.cs.arizona.edu/ ¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.


À¯´Ð½º, ƯÈ÷ ¸®´ª½º¿¡¼­´Â ¸Å¿ì ¸¹Àº °Ë»ö À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­´Â ¹°·Ð ¿Ïº®ÇÒ ¼ö ¾ø´Ù. ¸¸¾à¿¡ ÀÌ·± °Í°ú ºñ½ÁÇÑ Æ®¸¯°ú À¯Æ¿¸®Æ¼¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é http://sunsite.unc.edu/pub/Linux/utils ¾Æ·¡¿¡ ÀÖ´Â .lsm ÆÄÀϵéÀ» »ìÆ캸¶ó.

Áñ°Ì°í, ÇູÇÑ °Ë»öÀÌ µÇ½Ã±â¸¦...

¹ø¿ª : ¼­È¯¼ö´Ô

ÀÌ À¥»çÀÌÆ®´Â Miguel Angel Sepulveda ¿¡ ÀÇÇØ ¿î¿µµË´Ï´Ù.
© Guido Socher 1998
LinuxFocus 1998