¸¶½ºÅÍÆ÷À¯(Master4U)
Monday, 17 of January
 

Á¦¸ñ: Linux find ¸í·É¾î ¿ÏÀü Á¤º¹ °¡À̵å
ºÐ·ù: ¸®´ª½º
À̸§: °ü¸®ÀÚ * http://www.master4u.net


µî·ÏÀÏ: 2016-01-24 17:35
Á¶È¸¼ö: 9295
 

Linux find ¸í·É¾î ¿ÏÀü Á¤º¹ °¡À̵å

http://ndba.egloos.com/3049285

Linux find ¸í·É¾î ¿ÏÀü Á¤º¹ °¡À̵å

Linux find ¸í·É¾î´Â ¸ðµç Linux ¸í·É¾î °¡¿îµ¥ °¡Àå À¯¿ëÇϸ鼭µµ È¥¶õ½º·¯¿î ¸í·É¾î °¡¿îµ¥ ÇϳªÀÔ´Ï´Ù. ´Ù¸¥ Linux ¸í·É¾îÀÇ Ç¥ÁØ ±¸¹®°ú ´Ù¸¥ ±¸¹®À» °¡Áö°í ÀÖ´Ù´Â Á¡¿¡¼­ ¾î·Æ½À´Ï´Ù. ÇÏÁö¸¸, ÆÄÀϸí, ÆÄÀÏ À¯Çü, »ç¿ëÀÚ, ´õ ³ª¾Æ°¡ ŸÀÓ ½ºÅÆÇÁ º°·Î ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ´Ù´Â Á¡¿¡¼­ °­·ÂÇÑ ¸í·É¾îÀ̱⵵ ÇÕ´Ï´Ù. find ¸í·É¾î¸¦ »ç¿ëÇϸé ÀÌ·¯ÇÑ ¼Ó¼ºÀ» ÀÚÀ¯·Ó°Ô Á¶ÇÕÇØ ÆÄÀÏÀÇ À§Ä¡¸¦ ãÀ» ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó, ãÀº ÆÄÀÏ¿¡ ´ëÇØ ¿¬»êÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

º» ±ÛÀÇ ¸ñÀûÀº find ¸í·É¾î¿Í ±× ÀáÀçÀû ÀÌÁ¡À» °³·«ÀûÀ¸·Î ¼³¸íÇÔÀ¸·Î½á find ¸í·É¾î¸¦ ¼Õ½±°Ô ÇнÀ ¹× »ç¿ëÇÒ ¼ö ÀÖµµ·Ï µ½´Â °ÍÀÔ´Ï´Ù. µ¿½Ã¿¡, find ¸í·É¾îÀÇ Æ¯¼º Áß °¡Àå °­·ÂÇϸ鼭µµ ÇÑÆíÀ¸·Î´Â È¥¶õ½º·¯¿î Ãø¸é¿¡ ´ëÇÑ °³¿ä ¹× ÂüÁ¶¸¦ Á¦°øÇÒ °ÍÀÔ´Ï´Ù.

[ÁÖ: ¿©±â¿¡¼­ »ç¿ëµÈ find ¸í·É¾î´Â GNU ¹öÀüÀ̱⠶§¹®¿¡ ÀϺΠ¼¼ºÎ ³»¿ëÀº ´Ù¸¥ ¹öÀüÀÇ find ¸í·É¾î¿Í ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.]

±âº» Çü½Ä

¸ÕÀú, find ¸í·É¾îÀÇ ±âº» ±¸Á¶ºÎÅÍ »ìÆìº¸°Ú½À´Ï´Ù:

find   start_directory  test  options   criteria_to_matchaction_to_perform_on_results                          
¾Æ·¡ ¸í·É¾î¿¡¼­ find´Â À̸§¿¡ ¡°java¡± È®ÀåÀÚ¸¦ °¡Áö°í ÀÖ´Â ¸ðµç ÆÄÀÏÀ» ´ë»óÀ¸·Î ¡°.¡±°¡ Ç¥½ÃµÈ ÇöÀç µð·ºÅ丮¸¦ ã±â ½ÃÀÛÇÒ °ÍÀÔ´Ï´Ù:
find . -name  "*.java"   

¾Æ·¡¿¡´Â °Ë»ö °á°ú¿¡ ´ëÇÑ °£´ÜÇÑ ¸ñ·ÏÀÌ ³ª¿­µÇ¾î ÀÖ½À´Ï´Ù:

find . -name  "*.java"./REGEXPvalidate/src/oracle/otnsamples/plsql/ConnectionManager.java./REGEXPvalidate/src/oracle/otnsamples/plsql/DBManager.java..

[ÁÖ: º» ±Û¿¡¼­ Àß¶ó ºÙÀ̱⸦ ÇØ find ¸í·É¾î¸¦ ½ÇÇàÇÏ´Â °æ¿ì¿¡´Â ÀÚü Űº¸µå¸¦ »ç¿ëÇØ Å«µû¿ÈÇ¥(¡°¡±)¸¦ ¹Ù²ã¾ß ¿Ã¹Ù¸¥ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.]

¾Æ·¡ ¸í·É¾î ¿ª½Ã µ¿ÀÏÇÑ ¿¬»êÀ» ¼öÇàÇÒ °ÍÀÔ´Ï´Ù. ¾î¶² °æ¿ìµç, find ¸í·É¾î¿¡ Àü´ÞµÇµµ·Ï escape ¹®À» ÅëÇØ ¿ÍÀϵåÄ«µå ¹®ÀÚ¸¦ ÀÏ¹Ý ¹®ÀڷΠó¸®ÇØ¾ß ÇÏ¸ç ½©¿¡ ÀÇÇØ ÇØ¼®µÇÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù. µû¶ó¼­, °Ë»ö ¹®ÀÚ¿­¿¡ ūŸ¿ÈÇ¥¸¦ ºÙÀ̰ųª ±× ¾Õ¿¡ ¿ª½½·¡½Ã(\)¸¦ ºÙÀ̽ʽÿÀ:

find . -name  \*.java

find¿¡ ´ëÇÑ Àμö´Â ¿É¼ÇÀ̱â´Â ÇÏÁö¸¸, °Ë»ö ½ÃÀÛ À§Ä¡¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀº °æ¿ì¿¡´Â ÇöÀç µð·ºÅ丮¿¡¼­ ±âº»ÀûÀ¸·Î °Ë»öÀÌ ½ÃÀ۵˴ϴÙ. ¿É¼Ç »çÇ×À̱â´Â ÇÏÁö¸¸ Å×½ºÆ® Á¶°ÇÀ» ÁöÁ¤ÇÏÁö ¾ÊÀº °æ¿ì¿¡´Â ºÒ¿ÏÀüÇϰųª ¼±º°µÇÁö ¾ÊÀº °á°ú°ªÀÌ Ãâ·ÂµË´Ï´Ù.
 
¾Æ·¡ 3°³ÀÇ find ¸í·É¾î¸¦ ½ÇÇàÇÏ¸é ¶È°°ÀÌ ÇöÀç µð·ºÅ丮¿Í ¼û°ÜÁø ÆÄÀÏÀ» Æ÷ÇÔÇÏ´Â ¸ðµç ¼­ºêµð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏ ¸ñ·ÏÀÌ °Ë»öµË´Ï´Ù:

find find .find . -print

ÀÌ´Â –la ¿É¼ÇÀ» °¡Áø ls ¸í·É¾î¸¦ ½ÇÇàÇÏ´Â °Í°ú ºñ½ÁÇÕ´Ï´Ù. ¹é¾÷À» À§ÇØ À§ ¸í·É¾îÀÇ Ãâ·Â¹°¿¡ Àüü °æ·Î À̸§ÀÌ Æ÷ÇԵDZ⸦ ¿øÇÏ´Â °æ¿ì¶ó¸é ½ÃÀÛ µð·ºÅ丮¿¡ ´ëÇÑ Àüü °æ·Î¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù:

find /home/bluher -name \*.java/home/bluher/plsql/REGEXPvalidate/src/oracle/otnsamples/plsql/ConnectionManager.java/home/bluher/plsql/REGEXPvalidate/src/oracle/otnsamples/plsql/DBManager.java/...

¶ÇÇÑ, °Ë»ö ¹®ÀÚ¿­¿¡ 1°³ ÀÌ»óÀÇ ½ÃÀÛ µð·ºÅ丮¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀûÁ¤ ±ÇÇÑÀ» °¡Áø »ç¿ëÀڷμ­ ½ÇÇàµÇ´Â °æ¿ì, ¾Æ·¡ ¸í·É¾î´Â ¸ðµç jar ÆÄÀÏÀ» ã±â À§ÇØ /usr, /home ¹× /tmp µð·ºÅ丮 ¼ø¼­·Î ³»·Á°¥ °ÍÀÔ´Ï´Ù:  

find /usr /home  /tmp -name "*.jar"

ÀûÁ¤ ±ÇÇÑÀÌ ¾ø´Â »ç¿ëÀÚ¶ó¸é ¸¹Àº ½Ã½ºÅÛ µð·ºÅ丮¸¦ °Ë»öÇϱ⠽ÃÀÛÇÒ ¶§ ´ÙÀ½°ú °°Àº ¿À·ù ¸Þ½ÃÁö°¡ ³ª¿Ã ¼ö ÀÖ½À´Ï´Ù:

find:  /tmp/orbit-root: Permission denied

´ÙÀ½°ú °°ÀÌ °Ë»ö ¹®ÀÚ¿­À» Ãß°¡ÇÔÀ¸·Î½á ºÒ¸íÈ®ÇÑ °á°ú°¡ ³ª¿À´Â °ÍÀ» ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù:

find /usr /home  /tmp -name "*.jar" 2>/dev/null

ÀÌ·¸°Ô ÇÏ¸é ¸ðµç ¿À·ù ¸Þ½ÃÁö°¡ ³Î(null) ÆÄÀÏ·Î Àü¼ÛµÇ±â ¶§¹®¿¡ º¸´Ù Á¤Á¦µÈ Ãâ·Â¹°ÀÌ Á¦°øµË´Ï´Ù.

±âº»ÀûÀ¸·Î find ¸í·É¾î´Â ´ë/¼Ò¹®ÀÚ¸¦ ±¸º°ÇÕ´Ï´Ù. ´ë/¼Ò¹®ÀÚ°¡ ±¸º°µÇ´Â find¿¡¼­´Â -name Å×½ºÆ®¸¦ ´ë½ÅÇØ -iname Å×½ºÆ®¸¦ »ç¿ëÇϽʽÿÀ.

find downloads  -iname "*.gif"downloads/.xvpics/Calendar05_enlarged.gifdownloads/lcmgcfexsmall.GIF
¶ÇÇÑ, ÆÄÀÏ¸í ¿Ü¿¡µµ À¯Çü¿¡ µû¶ó ÆÄÀÏÀ» °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¾Æ·¡ ¸í·É¾î¸¦ ÅëÇØ µð·ºÅ丮ÀÇ ¸ðµç ¼­ºêµð·ºÅ丮¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù:
find . -type d          

¾Æ·¡ ¸í·É¾î¸¦ »ç¿ëÇϸé /usr µð·ºÅ丮ÀÇ ¸ðµç ½Éº¼¸¯ ¸µÅ©(symbolic link)¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù:

find /usr -type l

À§ ¸í·É¾î¸¦ ½ÇÇàÇϸé 3,000°³ ÀÌ»óÀÇ ¸µÅ© ¸ñ·ÏÀÌ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. ½´ÆÛÀ¯Àú(root) ±ÇÇÑÀ» ÅëÇØ ¾Æ·¡ ¸í·É¾î °¡¿îµ¥ Çϳª¸¦ ½ÇÇàÇϸé /usr µð·ºÅ丮ÀÇ ¸µÅ© ¸ñ·Ï°ú À̰ÍÀÌ °¡¸®Å°´Â ÆÄÀÏÀÌ ³ªÅ¸³³´Ï´Ù:

# find /usr/bin  -type l  -name "z*" -exec ls  -l {} \;lrwxrwxrwx 1 root  root 8 Dec 12 23:17 /usr/bin/zsh -> /bin/zshlrwxrwxrwx 1 root  root 5 Dec 12 23:17 /usr/bin/zless -> zmorelrwxrwxrwx 1 root  root 9 Dec 12 23:17 /usr/bin/zcat -> /bin/zcat
find /usr/bin -type  l  -name "z*" -ls

ÇÏÁö¸¸, º¸´Ù ªÀº µÎ ¹øÂ° ¸í·É¾î¸¦ ½ÇÇàÇÏ¸é µð·ºÅ丮¿Í inode Á¤º¸¸¦ °¡Áø ±ä ÆÄÀÏ ¸ñ·ÏÀÌ ³ª¿Ã °ÍÀÔ´Ï´Ù. -exec ¹× –ls ½ÇÇà¿¡ ´ëÇØ¼­´Â ÈĹݺο¡¼­ ´Ù·ê °ÍÀÔ´Ï´Ù

find°¡ ãÀ» ¼ö ÀÖ´Â ´Ù¸¥ ÆÄÀÏ À¯ÇüÀ¸·Î´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ½À´Ï´Ù

• b—block (buffered) special
• c—character (unbuffered) special
• p—named pipe (FIFO)
• s—socket

find ¸í·É¾îÀÇ ½ÃÀÛÁ¡À¸·Î ·çÆ®¸¦ »ç¿ëÇÏ¸é ½Ã½ºÅÛ ¼Óµµ°¡ Å©°Ô ´À·ÁÁú ¼ö ÀÖ½À´Ï´Ù. ¹Ýµå½Ã ¸í·É¾î¸¦ ½ÇÇàÇØ¾ß ÇÏ´Â °æ¿ì¿¡´Â »ç¿ë·®ÀÌ ÀûÀº ½Ã°£´ë³ª ¾ß°£¿¡ ½ÇÇàÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¾Æ·¡ ±¸¹®À» »ç¿ëÇØ Ãâ·Â¹°À» ÆÄÀÏ·Î º¸³¾ ¼ö ÀÖ½À´Ï´Ù.:

find  /   -print > masterfilelist.out

¿øÄ¡ ¾Ê´Â Ãâ·Â¹°À» ´ë·® »ý»êÇÏ´Â find ¸í·É¾î¸¦ ½Ç¼ö·Î ÀÔ·ÂÇÑ °æ¿ì¿¡´Â CTRL-C¸¦ ´©¸£±â¸¸ ÇÏ¸é °¡Àå ÃÖ±Ù¿¡ ½ÇÇàµÈ ¸í·É¾î°¡ Áߴܵ˴ϴÙ.

¿©·¯ ÆÄÀÏ ½Ã½ºÅÛÀ» °®Ãá ¿£ÅÍÇÁ¶óÀÌÁî ³×Æ®¿öÅ©¿¡¼­´Â ƯÈ÷ find ¸í·É¾î°¡ °Ë»öÇÑ ÆÄÀÏÀ» Á¦ÇÑÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÇÊ¿äÇÑ ¼ö ¸¸Å­ ¿É¼Ç ¹× Å×½ºÆ®¸¦ »ç¿ëÇÔÀ¸·Î½á ½Ã½ºÅÛ »óÀÇ ·Îµå¸¦ ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. À̸¦ À§ÇØ °¡Àå À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀº –xdev¿Í -mountÀÔ´Ï´Ù. ÀÌµé ¿É¼ÇÀº find ¸í·É¾î°¡ MS-DOS, CD-ROM ¶Ç´Â AFS¿Í °°Àº ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛ »óÀÇ µð·ºÅ丮·Î ³»·Á°¡Áö ¾Êµµ·Ï ÇÔÀ¸·Î½á °Ë»ö ¹üÀ§¸¦ Á¼ÇôÁÝ´Ï´Ù. µû¶ó¼­, ½ÃÀÛ µð·ºÅ丮¿Í µ¿ÀÏÇÑ À¯ÇüÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î °Ë»öÀ» Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù.

µà¾ó ºÎÆÃ ½Ã½ºÅÛ »ç¿ëÀÚ´Â mount ¸í·É¾î°¡ ½ÇÇàµÇ´Â °æ¿ì¿¡ ÀÌ·¯ÇÑ ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Windows ÆÄƼ¼ÇÀÌ °ü·ÃµÇ¾î ÀÖ´Ù°í °¡Á¤Çϸé, ¾Æ·¡¿Í °°Àº ¸í·É¾î¸¦ ÅëÇØ ¸¶¿îÆÃ ÇÒ ¼ö ÀÖ½À´Ï´Ù.:

mount -t vfat  /dev/sda1 /mnt/msdos

¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ½ÇÁ¦ ¸í·É¾î´Â ½Ã½ºÅÛ ¼³Á¤ ¹æ¹ý¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. df¸¦ ½ÇÇàÇϰųª ¾Æ·¡ ¸í·É¾î¸¦ ¼öÇàÇÔÀ¸·Î½á ÆÄƼ¼Ç ¸¶¿îÆÃ ¿©ºÎ¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù:

find /mnt/msdos  -name "*.txt" 2> /dev/null

MS Windows ÆÄƼ¼Ç¿¡¼­´Â ÆÄÀÏ ¸ñ·ÏÀÌ ±æ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. ÀÌÁ¦ºÎÅÍ´Â -mount ¶Ç´Â -xdev ¿É¼ÇÀ» ÅëÇØ ¾Æ·¡ ¸í·É¾î¸¦ ½ÇÇàÇϽʽÿÀ:

find / -name  "*.txt" -mount 2> /dev/null

¶Ç´Â

find / -name  "*.txt" -xdev 2> /dev/null

¾Æ·¡ ¿¹¿¡¼­¿Í °°ÀÌ -fstype Å×½ºÆ®¸¦ »ç¿ëÇØ find ¸í·É¾î¿¡ ã°íÀÚ ÇÏ´Â ÆÄÀÏ ½Ã½ºÅÛÀ» ¸íÈ®ÇÏ°Ô ¾Ë·ÁÁÙ ¼öµµ ÀÖ½À´Ï´Ù:

find / -name  "*.txt" -fstype vfat 2> /dev/null

½Ã°£ ã±â

find ¸í·É¾î´Â ½Ã½ºÅÛÀÇ Å¸ÀÓ ½ºÅÆÇÁ¸¦ Åä´ë·Î ÆÄÀÏ °Ë»ö¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿©·¯ °³ÀÇ ¿É¼ÇÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Å¸ÀÓ ½ºÅÆÇÁ·Î´Â ´ÙÀ½ÀÌ Æ÷ÇԵ˴ϴÙ

mtimeÆÄÀÏ ³»¿ëÀÌ ¸¶Áö¸·À¸·Î ¼öÁ¤µÈ ½Ã°£
atime—ÆÄÀÏÀ» Àб⠶Ǵ ¾×¼¼½ºÇÑ ½Ã°£
ctime—ÆÄÀÏ »óŰ¡ º¯°æµÈ ½Ã°£

mtime ¹× atimeÀÇ Àǹ̴ ±× ÀÚü·Î ½±°Ô ¾Ë ¼ö ÀÖÁö¸¸, ctime´Â Á» ´õ ¼³¸íÀÌ ÇÊ¿äÇÕ´Ï´Ù. inode´Â °¢ ÆÄÀÏ¿¡ ¸ÞŸ µ¥ÀÌÅ͸¦ °¡Áö°í Àֱ⠶§¹®¿¡ ÆÄÀÏ¿¡ ¿¬°áµÈ ¸ÞŸ µ¥ÀÌÅͰ¡ º¯°æµÇ¸é inode µ¥ÀÌÅ͵µ º¯°æµË´Ï´Ù. ÆÄÀÏ¿¡ ´ëÇÑ ½Éº¼¸¯ ¸µÅ© »ý¼º, ÆÄÀÏ¿¡ ´ëÇÑ ±ÇÇÑ º¯°æ, ÆÄÀÏ À̵¿ µî°ú °°Àº ´Ù¾çÇÑ ÀÛ¾÷À¸·Î ÀÎÇØ ÀÌ·¯ÇÑ ¸ÞŸ µ¥ÀÌÅÍ º¯°æÀÌ ¾ß±âµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì, ÆÄÀÏ ³»¿ë¿¡ ´ëÇÑ Àб⳪ ¼öÁ¤Àº ¼öÇàµÇÁö ¾Ê±â ¶§¹®¿¡ themtime ¹× atimeÀº º¯ÇÏÁö ¾ÊÁö¸¸ ctimeÀº º¯ÇÕ´Ï´Ù. 

ÀÌ·¯ÇÑ ½Ã°£ ¿É¼ÇÀº °¢±â -n, n ¶Ç´Â +n·Î ÁöÁ¤µÈ n °ªÀ» ÇÔ²² »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

• -nÀº n ÀÌÇϸ¦ ¹Ýȯ
• +nÀº n ÀÌ»óÀ» ¹Ýȯ
• nÀº Á¤È®È÷ n¿¡ ÇØ´çµÇ´Â °ªÀ» ¹Ýȯ

º¸´Ù ¸íÈ®ÇÑ ¼³¸íÀ» À§ÇØ ¸î °¡Áö ¿¹¸¦ »ìÆì º¸°Ú½À´Ï´Ù. ¾Æ·¡ ¸í·É¾î´Â ÃÖ±Ù 1½Ã°£ µ¿¾È ¼öÁ¤µÈ ¸ðµç ÆÄÀÏÀ» ã¾ÆÁÝ´Ï´Ù:

find . -mtime -1./plsql/FORALLSample./plsql/RegExpDNASample/plsql/RegExpSample

-1 ´ë½Å 1À» °¡Áø µ¿ÀÏ ¸í·É¾î¸¦ ½ÇÇàÇϸé Á¤È®ÇÏ°Ô 1½Ã°£ Àü¿¡ ¼öÁ¤µÈ ¸ðµç ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù:

find . -mtime 1 

À§ ¸í·É¾î´Â Á¤È®ÇÏ°Ô ÀÏÄ¡ÇÏ´Â °ªÀ» ¿äûÇϱ⠶§¹®¿¡ ¸ðµç °á°ú°ªÀÌ ³ª¿ÀÁö´Â ¾Ê½À´Ï´Ù. ¾Æ·¡ ¸í·É¾î´Â 1½Ã°£ ÀÌÀü¿¡ ¼öÁ¤µÈ ÆÄÀÏÀ» ã¾ÆÁÝ´Ï´Ù:

find . -mtime +1 
±âº»ÀûÀ¸·Î -mtime, -atime ¹× –ctime´Â ÃÖ±Ù 24 ½Ã°£¿¡ ´ëÇÑ Å¸ÀÓ ½ºÅÆÇÁÀÔ´Ï´Ù. ÇÏÁö¸¸, µÚ¿¡ daystart ¿É¼ÇÀ» ºÙÀÌ¸é ¿À´ÃÀ» ½ÃÀÛÀ¸·Î 24½Ã°£ ÁֱⰡ ½ÃÀ۵˴ϴÙ. ¶ÇÇÑ, mmin, amin ¹× cminÀ» »ç¿ëÇÏ¸é ºÐ ´ÜÀ§·Î º¯°æµÈ ŸÀÓ ½ºÅÆÇÁ¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.

¿©·¯ºÐÀÇ °èÁ¤À¸·Î ·Î±×ÀÎÇÑ ÈÄ Áï½Ã ¾Æ·¡ ¸í·É¾î¸¦ ½ÇÇàÇϸé ÃÖ±Ù 1ºÐ ³»¿¡ ÀÐÀº ¸ðµç ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù:

find . -amin -1./.bashrc/.bash_history./.xauthj5FCx1

find ¸í·É¾î¸¸À¸·Î ÆÄÀÏÀÇ À§Ä¡¸¦ ãÀ¸¸é ¸ÞŸ µ¥ÀÌÅÍÀÇ ÀϺÎÀÎ ÆÄÀÏÀÇ ¾×¼¼½º ½Ã°£ÀÌ º¯°æµÈ´Ù´Â »ç½Ç¿¡ À¯ÀÇÇϽʽÿÀ.

-newer, -anewer ¹× –cnewer ¿É¼ÇÀ» »ç¿ëÇÏ¸é Æ¯Á¤ ÆÄÀϰú ºñ±³ÇØ ¼öÁ¤ ¶Ç´Â ¾×¼¼½ºµÈ ÆÄÀÏÀ» ãÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ´Â -mtime, -atime ¹× –ctime°ú ºñ½ÁÇÕ´Ï´Ù.
 
• -newer : º¸´Ù ÃÖ±Ù¿¡ ³»¿ëÀÌ ¼öÁ¤µÈ ÆÄÀÏ
• -anewer : º¸´Ù ÃÖ±Ù¿¡ ÀбⰡ ¼öÇàµÈ ÆÄÀÏ
• -cnewer : º¸´Ù ÃÖ±Ù¿¡ »óŰ¡ º¯°æµÈ ÆÄÀÏ

¸¶Áö¸· tar ÆÄÀÏ ÀÌÈÄ·Î ¾î¶² ¹æ¹ýÀ¸·ÎµçÁö ¼öÁ¤µÈ Ȩ µð·ºÅ丮ÀÇ ÆÄÀÏÀ» ¸ðµÎ ãÀ¸·Á¸é ¾Æ·¡ ¸í·É¾î¸¦ »ç¿ëÇϽʽÿÀ:

find . -newer  backup.tar.gz

Å©±â¿¡ µû¸¥ ÆÄÀÏ Ã£±â

-size ¿É¼ÇÀº ÁöÁ¤µÈ Å©±â ±âÁØ¿¡ ºÎÇÕÇÏ´Â ÆÄÀÏÀ» ã¾ÆÁÝ´Ï´Ù. Å©±â°¡ 5MB ÀÌ»óÀÎ ¸ðµç ÆÄÀÏÀ» ãÀ¸·Á¸é ¾Æ·¡¿Í °°ÀÌ ÇϽʽÿÀ

find / -size  +5000000c 2> /dev/null/var/log/lastlog/var/log/cups/access_log.4/var/spool/mail/bluher

¸¶Áö¸·¿¡ ¡°c¡±¸¦ ºÙÀÌ¸é °á°ú°¡ ¹ÙÀÌÆ® ´ÜÀ§·Î º¸°íµË´Ï´Ù. ±âº»ÀûÀ¸·Î find ¸í·É¾î´Â 512 ¹ÙÀÌÆ® ºí·ÏÀÇ ¼ö·Î Å©±â¸¦ º¸°íÇÕ´Ï´Ù. ¶ÇÇÑ, ¡°c¡±¸¦ ¡°k¡±·Î ±³Ã¼ÇÏ´Â °æ¿ì¿¡´Â ų·Î¹ÙÀÌÆ® ¼ö·Î, ¡°w¡±¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡´Â 2¹ÙÀÌÆ® ¿öµåÀÇ ¼ö·Î °á°ú¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.

-size ¿É¼ÇÀº ¸ðµç Á¦·Î ¹ÙÀÌÆ® ÆÄÀÏÀ» ã°Å³ª ÀÌµé ÆÄÀÏÀ» /tmp/zerobyte Æú´õ·Î À̵¿Çϱâ À§ÇØ ÀÚÁÖ »ç¿ëµË´Ï´Ù. ¾Æ·¡ ¸í·É¾î°¡ ¹Ù·Î ÀÌ·¯ÇÑ ¿¬»êÀ» ¼öÇàÇÕ´Ï´Ù.

find test -type f  -size 0 -exec mv {} /tmp/zerobyte \;

-exec ¿É¼ÇÀº find ¸í·É¾î°¡ ¸¸³ª°Ô µÇ´Â ÆÄÀÏÀÇ ¸ðµç ½© ¸í·É¾î¸¦ ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇØÁÝ´Ï´Ù. ÈĹݺο¡¼­ ÀÌ ¿É¼ÇÀÇ º¸´Ù ´Ù¾çÇÑ »ç¿ë ¿¹¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. Áß°ýÈ£¸¦ »ç¿ëÇÏ¸é ºó ÆÄÀÏ °¢°¢À» À̵¿½Ãų ¼ö ÀÖ½À´Ï´Ù

¶ÇÇÑ, -empty ¿É¼ÇÀ» »ç¿ëÇÏ¸é ºó ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù.

find test -empty        test/footest/test

±ÇÇÑ ¹× ¼ÒÀ¯±Ç¿¡ µû¸¥ ÆÄÀÏ Ã£±â

find ¸í·É¾î´Â ½Ã½ºÅÛ º¸¾È ¸ð´ÏÅ͸µÀ» À§ÇØ ¾ø¾î¼­´Â ¾ÈµÉ ¸í·É¾îÀÔ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ ±âÈ£¹ýÀ̳ª 8Áø¹ýÀ» ÅëÇØ »ç¿ë ±ÇÇÑÀÌ ³Î¸® ¿­·ÁÀÖ´Â ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù.

find . -type f  -perm a=rwx -exec ls -l {} \; 

¶Ç´Â

find . -type f  -perm 777 -exec ls -l {} \;-rwxrwxrwx 1 bluher  users 0 May 24 14:14 ./test.txt

À§ÀÇ ¸í·É¾î³ª ¾Æ·¡ ¸í·É¾îÀÇ °æ¿ì -exec ls –lÀ» ¼öÇàÇϰí Àֱ⠶§¹®¿¡, ¹ÝȯµÈ ÆÄÀÏÀÇ ½ÇÁ¦ »ç¿ë ±ÇÇÑÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸í·É¾î´Â ¡°±âŸ »ç¿ëÀÚ¡± ¹× ±×·ìÀÌ ¸ðµÎ ¾²±â¸¦ ¼öÇàÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀ» ã¾ÆÁÝ´Ï´Ù.

find plsql -type f  -perm -ug=rw -exec ls -l {} \; 2>/dev/null

¶Ç´Â

find plsql -type f  -perm -220 -exec ls -l {} \; 2>/dev/null -rw-rw-rw- 1 bluher users 4303  Jun  7   2004 plsql/FORALLSample/doc/otn_new.css-rw-rw-rw- 1 bluher users 10286 Jan  12  2005  plsql/FORALLSample/doc/readme.html-rw-rw-rw- 1 bluher users 22647 Jan  12  2005  plsql/FORALLSample/src/config.sql..
¾Æ·¡ ¸í·É¾îµéÀ» ½ÇÇàÇÏ¸é »ç¿ëÀÚ, ±×·ì ¶Ç´Â µÑ ¸ðµÎ°¡ ¾²±â ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù  
find plsql -type f  -perm /ug=rw -exec ls -l {} \; 2>/dev/null, or,find plsql -type f  -perm /220 -exec ls -l {} \; 2>/dev/null -rw-r--r-- 1 bluher users 21473  May  3 16:02 plsql/regexpvalidate.zip-rw-rw-rw- 1 bluher users 4303  Jun  7   2004 plsql/FORALLSample/doc/otn_new.css-rw-rw-rw- 1 bluher users 10286 Jan  12  2005  plsql/FORALLSample/doc/readme.html-rw-rw-rw- 1 bluher users 22647 Jan  12  2005  plsql/FORALLSample/src/config.sql

À¥À̳ª ±âÁ¸ ¸Å´º¾ó¿¡´Â ¾Æ·¡ ¸í·É¾î·Î ³ª¿Í ÀÖÀ» °ÍÀÔ´Ï´Ù.

find . -perm +220  -exec ls -l {} \; 2> /dev/null 

+ ±âÈ£´Â / ±âÈ£¿Í µ¿ÀÏÇÑ ¿ªÇÒÀ» ÇÏÁö¸¸, »õ·Î¿î ¹öÀüÀÇ GNU findutils¿¡¼­´Â ±ÇÀåµÇÁö ¾Ê°í ÀÖ½À´Ï´Ù.

½Ã½ºÅÛ¿¡¼­ ¾²±â °¡´ÉÇÑ ¸ðµç ÆÄÀÏÀ» ãÀ¸·Á¸é ¾Æ·¡ ¸í·É¾î¸¦ »ç¿ëÇϽʽÿÀ

find / -wholename  '/proc' -prune  -o  -type f -perm -0002 -exec ls -l {} \;-rw-rw-rw- 1 bluher users 4303  Jun  7   2004/home/bluher/plsql/FORALLSample/doc/otn_new.css-rw-rw-rw- 1 bluher users 10286 Jan  12  2005  /home/bluher/plsql/FORALLSample/doc/readme.html...

4¹øÂ° »ç¿ë ±ÇÇÑ¿¡ ´ëÇØ ¾ÕÀ¸·Î Á¶±Ý ´õ ´Ù·ç°ÚÁö¸¸, ¸¶Áö¸· ÇʵåÀÇ ¡°2¡±´Â ¾²±â ºñÆ®·Îµµ ¾Ë·ÁÁ® ÀÖ´Â ÆÄÀÏ »ç¿ë ±ÇÇÑÀÇ ¡°±âŸ »ç¿ëÀÚ¡±¿¡ ÇØ´çµË´Ï´Ù. ¿ì¸®´Â ¼³Á¤µÈ ´Ù¸¥ »ç¿ë ±ÇÇÑÀÌ ¹«¾ùÀÌµç °ü°è ¾øÀÌ ±âŸ »ç¿ëÀÚ¸¦ À§ÇØ ¼³Á¤µÈ ¾²±â ±ÇÇÑÀ» °¡Áø ÆÄÀÏÀ» º¸°í ½Í´Ù´Â Ç¥½Ã·Î 0002¶ó´Â »ç¿ë ±ÇÇÑ ¸ðµå ¾Õ¿¡ ´ë½Ã¸¦ »ç¿ëÇß½À´Ï´Ù.

À§ÀÇ ¸í·É¾î¿¡¼­´Â 3°¡Áö »õ·Î¿î °³³äÀÌ µµÀԵǾú½À´Ï´Ù. ÆÐÅÏÀÌ ¹ß°ßµÈ °æ¿ì, – pruneÀº ÆÄÀÏ ÆÐÅÏ ¡°/proc¡±¿¡¼­ -wholename Å×½ºÆ®¸¦ »ç¿ëÇÔÀ¸·Î½á find ¸í·É¾î°¡ ÀÌ µð·ºÅ丮·Î ³»·Á¿ÀÁö ¾Êµµ·Ï ¸·¾ÆÁÝ´Ï´Ù. ºÒ¸° ¿¬»êÀÚ ¡°-o¡±¸¦ ÅëÇØ find ¸í·É¾î´Â ´Ù¸¥ µð·ºÅ丮¿¡¼­ ¸í·É¾îÀÇ ³ª¸ÓÁö ºÎºÐÀ» ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. °¢ Ç¥Çö½Ä °£¿¡ °¡Á¤µÈ ¾Ï½ÃÀû and ¿¬»êÀÚ(-a)°¡ Àֱ⠶§¹®¿¡ ÁÂÃø Ç¥Çö½ÄÀÌ °ÅÁþ(false)À¸·Î Æò°¡µÈ °æ¿ì and µÚ¿¡ ³ª¿À´Â Ç¥Çö½ÄÀº Æò°¡µÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼­, -o ¿¬»êÀÚ°¡ ÇÊ¿äÇÕ´Ï´Ù. °­Á¦ ¿ì¼± ¼øÀ§ Àû¿ëÀ» À§ÇØ °ýÈ£¸¦ »ç¿ëÇÏ´Â °Íó·³ find ¸í·É¾î´Â ºÒ¸° ¿¬»êÀÚ -not, !,µµ Áö¿øÇÕ´Ï´Ù.

½Ã½ºÅÛ °ü¸®ÀÚ´Â ÀÚÁÖ find ¸í·É¾î¸¦ ÅëÇØ ÇØ´ç »ç¿ëÀÚ³ª ±×·ìÀÇ À̸§ ¶Ç´Â ID¸¦ »ç¿ëÇØ ƯÁ¤ »ç¿ëÀÚ³ª ±×·ìÀÇ Á¤±Ô ÆÄÀÏÀ» °Ë»öÇϰí ÀÖ½À´Ï´Ù:

[root] $  find / -type f -user bluher -exec ls -ls {}  \;

¿©±â, ÀÌ·¯ÇÑ ¸í·É¾îÀÇ Ãâ·Â¿¡ ´ëÇÑ °£´ÜÇÑ ¿¹Á¦°¡ ³ª¿Í ÀÖ½À´Ï´Ù:

4 -rw-r--r-- 1 bluher users 48  May  1 03:09  /home/bluher/public_html/.directory4 -rw-r--r-- 1 bluher users 925  May  1 03:09 /home/bluher/.profile

¶ÇÇÑ, find ¸í·É¾î¸¦ »ç¿ëÇØ ±×·ì º°·Î ÆÄÀÏÀ» °Ë»öÇÒ ¼öµµ ÀÖ½À´Ï´Ù:

[root] $ find /  -type f -group users
find / -type d -gid  100

ÀÌ ¸í·É¾î¸¦ ½ÇÇàÇÏ¸é ±×·ì ID 100ÀÌ ¼ÒÀ¯Çϰí ÀÖ´Â µð·ºÅ丮 ¸ñ·ÏÀÌ ³ª¿É´Ï´Ù. ÇØ´çµÇ´Â uid ¶Ç´Â gid¸¦ ã±â À§ÇØ /etc/passwd ¶Ç´Â /etc/group ÆÄÀÏ¿¡¼­ more ¶Ç´Â cat ¸í·É¾î¸¦ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù

ÀÌ ¸í·É¾î´Â ¾Ë·ÁÁø ƯÁ¤ »ç¿ëÀÚ ¹× ±×·ì¿¡ °üÇÑ ÆÄÀÏÀ» ã´Â °Í ¿Ü¿¡µµ »ç¿ëÀÚ³ª ±×·ìÀÌ ÁöÁ¤µÇÁö ¾ÊÀº ÆÄÀÏÀ» ã´Â µ¥µµ À¯¿ëÇÕ´Ï´Ù. ¾Æ·¡ ¸í·É¾î´Â /etc/passwd ¶Ç´Â /etc/group ÆÄÀÏ¿¡¼­ ¸®½ºÆ®¸¦ °¡Áö°í ÀÖÁö ¾ÊÀº ÆÄÀÏÀ» ½Äº°ÇÕ´Ï´Ù.

find / -nouser -o  -nogroup

À§ ¸í·É¾î´Â ½ÇÁ¦·Î ½Ã½ºÅÛ »ó¿¡ °á°ú¸¦ Á¦°øÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸, ÆÄÀÏÀ» À̵¿ÇÑ ÈÄ¿¡ »ç¿ëÀÚ³ª ±×·ìÀÌ ÁöÁ¤µÇÁö ¾ÊÀº ÆÄÀÏÀ» ½Äº°ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù

ÀÌÁ¦, º» ¼½¼Ç Ãʹݺο¡ ¾ð±ÞÇÑ º°µµÀÇ ³ôÀº »ç¿ë ±ÇÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.

SGID ¹× SUID´Â UNIX ±â¹Ý ¿î¿µ üÁ¦ »óÀÇ ÆÄÀÏ ¹× µð·ºÅ丮¿¡ ÇÒ´çÇÒ ¼ö Àִ Ưº° ¾×¼¼½º ±ÇÇÑ Ç÷¡±×ÀÔ´Ï´Ù. ÄÄÇ»ÅÍ ½Ã½ºÅÛ ¾×¼¼½º¿¡ ÀÖ¾î ÀÏ¹Ý ±ÇÇÑÀ» °¡Áø »ç¿ëÀÚ°¡ ÀϽÃÀûÀ¸·Î ³ô¾ÆÁø ±ÇÇÑÀ» °¡Áö°í ¹ÙÀ̳ʸ® ½ÇÇà ÆÄÀÏÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

find /  \( -perm -2000 -o -perm -4000 \) -ls167901   12 -rwsr-xr-x   1 root     root         9340 Jun 16  2006 /usr/bin/rsh167334   12 -rwxr-sr-x   1 root     tty         10532 May  4  2007 /usr/bin/wall

À§ ¸í·É¾î¿¡¼­ °ýÈ£°¡ escape ó¸®µÈ °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, ±ÇÇÑ °£ÀÇ Â÷ÀÌÁ¡À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ù ¹øÂ° ÆÄÀÏ¿¡´Â SGID ±ÇÇÑÀÌ ¼³Á¤µÇ¾î ÀÖÀ¸¸ç µÎ ¹øÂ° ÆÄÀÏ¿¡´Â SUID ±ÇÇÑÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. À§ ¸í·É¾îÀÇ ¸¶Áö¸· ¿¬»êÀº -exec ls -dils ¿¬»êÀÇ find ¸í·É¾î¿Í À¯»çÇÕ´Ï´Ù

find ¸í·É¾î Á¦¾î

LinuxÀÇ ¸¹Àº ¸í·É¾î¿Í ´Þ¸®, find ¸í·É¾î´Â -r ¶Ç´Â -R ¿É¼ÇÀÌ ¾øÀ̵µ ¼­ºêµð·ºÅ丮·Î ³»·Á°¡Áö ¾Ê½À´Ï´Ù. ÀÌ´Â ±âº»ÀûÀ¸·Î Áö¿øµË´Ï´Ù. ÇÏÁö¸¸, ¶§¿¡ µû¶ó À̸¦ Á¦ÇÑÇÏ°í ½ÍÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ·² °æ¿ì, -depth, -maxdepth ¹× –mindepth ¿É¼Ç°ú –prune ¿¬»êÀÌ À¯¿ëÇÕ´Ï´Ù

-pruneÀÌ ¾ó¸¶³ª À¯¿ëÇÑÁö´Â ÀÌ¹Ì È®ÀÎÇ߱⠶§¹®¿¡ ÀÌÁ¦´Â -depth, -maxdepth ¹× -mindepth ¿É¼Ç¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù.

-maxdepth ¹× -mindepth ¿É¼ÇÀ» »ç¿ëÇϸé find ¸í·É¾î¸¦ ÅëÇØ °Ë»öÇϰíÀÚ ÇÏ´Â µð·ºÅ丮 Æ®¸®ÀÇ ¼öÁØÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. find ¸í·É¾î°¡ ´Ü ÇÑ ¼öÁØÀÇ µð·ºÅ丮¸¦ ãµµ·Ï ÇÏ°í ½ÍÀº °æ¿ì¿¡´Â maxdepth ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾Æ·¡ ¸í·É¾î¸¦ ½ÇÇàÇØ µð·ºÅ丮 Æ®¸®ÀÇ »óÀ§ 3°³ ¼öÁØÀÇ ·Î±× ÆÄÀÏÀ» °Ë»öÇÏ¸é –maxdepthÀÇ È¿°ú¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é –maxdepth ¾øÀÌ ½ÇÇàÇÒ ¶§ º¸´Ù´Â ÈξÀ ÀûÀº Ãâ·Â °á°ú°¡ ³ª¿É´Ï´Ù

find / -maxdepth 3  -name "*log"

¶ÇÇÑ, find ¸í·É¾î¿¡°Ô µð·ºÅ丮 Æ®¸®¿¡¼­ ÃÖ¼Ò 3°³ ¼öÁرîÁö µð·ºÅ丮¸¦ °Ë»öÇÒ °ÍÀ» Áö½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.

find / -mindepth 3  -name "*log"

-depth ¿É¼ÇÀº ³»¿ë Æò°¡¿¡ ¾Õ¼­ µð·ºÅ丮¸¦ Æò°¡ÇÒ ¼ö ÀÖµµ·Ï ÇØÁÝ´Ï´Ù. ¾Æ·¡ ¸í·É¾î´Â ÇÑ ¿¹ÀÔ´Ï´Ù.:

find -name "*test*" -depth./test/test./test./localbin/test./localbin/test_shell_var./localbin/test.txt./test2/test/test./test2/test./test2

<ÀÚ·áÃâó : http://egloos.zum.com/ndba/v/3049285 >

       
¡â ÀÌÀü±Û: Linux Kernel ¹öÀü È®ÀÎ
¡ä ´ÙÀ½±Û: [¸®´ª½º] find ¸í·É¾î ½Ç½À
Copyright 1999-2025 Zeroboard / skin by enFree