ÀÛ¼ºÀÚ ±â¼úÁö¿øºÎ Á¶Á¤Çö karura@nextline.net
find ¸í·É¾î¶õ : À©µµ¿ì¿¡¼ ¸»ÇÏ´Â Æú´õ, ÆÄÀÏ ¶Ç´Â Çϵåµð½ºÅ©¿¡¼
ƯÁ¤ ÆÄÀÏÀ̳ª, ƯÁ¤ Æú´õ¸¦ ã´Â ±â´É°ú °°½À´Ï´Ù. find ¸í·ÉÀÇ ÀϹÝÀûÀÎ Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù. find
path expressions °¢°¢ÀÇ ÀμöµéÀÇ ÀǹÌ. path ã±â ½ÃÀÛÇÒ À§Ä¡¸¦ ³ªÅ¸³½´Ù. ¿¹¸¦µé¾î, ¡®.¡¯Àº ÇöÀç µð·ºÅ丮¸¦
³ªÅ¸³»°í, ¡®/¡¯Àº ·çÆ® µð·ºÅ丮ºÎÅÍ Ã£À» °ÍÀ» ³ªÅ¸³À´Ï´Ù. expression ƯÁ¤ ÆÄÀÏÀ» ã±â À§ÇÑ ¿©·¯°¡Áö Á¶°ÇµéÀ»
Ç¥ÇöÇÏ´Â ºÎºÐÀ¸·Î ÀÔ´Ï´Ù. optionÀÇ ¹æ¹ý¿¡´Â ´ÙÀ½°ú °°Àº °ÍÀÌ ÀÖ½À´Ï´Ù. -name : È®ÀåÀÚ°¡
index ÀÎ ÈÀÏÀ» °Ë»öÇÕ´Ï´Ù. ¸í·É¾î : find /-name ¡®*.index¡¯
-perm : Æ۹̼ÇÀÌ 555(-r-xr-xr-x)ÀÎ ÈÀÏÀ»
°Ë»öÇÕ´Ï´Ù.. ¸í·É¾î : find . –perm 555
-type : ÆÄÀÏÀÇ Å¸ÀÔÀ» ÁöÁ¤ÇÏ¿©, ã°íÀÚÇÏ´Â ÆÄÀÏÀ»
°Ë»öÇÕ´Ï´Ù. ŸÀÔÀÇ Á¾·ù´Â ¾Æ·¡¿Í °°½À´Ï´Ù. b : ºí·Ï Ư¼ö ÆÄÀÏ(block device) c : ij¸¯ÅÍ Æ¯¼ö ÆÄÀÏ
(character deice) d : µð·ºÅ丮(directory) f : ÀϹÝÆÄÀÏ(file) l : ½Éº¼¸¯
¸µÅ©(link) p : ÆÄÀÌÇÁ (pipe) s : ¼ÒÄÏ (socket) ÇöÀç µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Â ¼ºê
µð·ºÅ丮¸¦ ¸ðµÎ °Ë»öÇÕ´Ï´Ù. ¸í·É¾î : find . –type d
-atime +n/-n/n (accessed time): ÃÖ±Ù nÀÏ ÀÌÀü¿¡
¾×¼¼½ºµÈ ÆÄÀÏÀ» °Ë»öÇÕ´Ï´Ù. +nÀº nÀÏ ¶Ç´Â ±×º¸´Ù ´õ ¿À·¡ ÀüÀÇ ÆÄÀÏ -nÀº ¿À´ÃºÎÅÍ nÀÏ Àü±îÁöÀÇ ÆÄÀÏ nÀº Á¤È®È÷ nÀÏ
Àü¿¡ ¾×¼¼½ºµÇ¾úÀ½À» ÀǹÌÇÕ´Ï´Ù. ÇöÀç µð·ºÅ丮¿¡¼ ÇÑ ´Þ ¶Ç´Â ±× ÀÌ»óÀÇ ±â°£µ¿¾È Çѹøµµ ¾×¼¼½ºÇÏÁö ¾ÊÀº µð·ºÅ丮
°Ë»ö. ¸í·É¾î : find . -atime +30 –type d
-ctime +n/-n/n (changed time): ctimeÀº ÆÄÀÏÀÇ
»óŸ¦ ¸¶Áö¸·À¸·Î º¯°æ½ÃŲ ³¯Â¥¸¦ ÀǹÌÇÕ´Ï´Ù. +nÀº nÀÏ ¶Ç´Â ±×º¸´Ù ´õ ¿À·¡ ÀüÀÇ ÆÄÀÏ -nÀº ¿À´Ã ºÎÅÍ nÀÏ Àü±îÁöÀÇ
ÆÄÀÏ nÀº Á¤È®È÷ nÀÏ Àü¿¡ ¼öÁ¤µÇ¾úÀ½À» ÀǹÌÇÕ´Ï´Ù. ÇöÀç µð·ºÅ丮 ¾Æ·¡¿¡¼ ÃÖ±Ù 10ÀÏ µ¿¾È °íÄ£ ÆÄÀÏ
°Ë»ö. ¸í·É¾î : find . –ctime -10
-mtime +n/-n/n (modified
time): mtimeÀº ÆÄÀϳ»ÀÇ data¸¦ ¸¶Áö¸·À¸·Î º¯°æÇÑ ³¯Â¥¸¦ ÀǹÌÇÕ´Ï´Ù. +nÀº nÀÏ ¶Ç´Â ±×º¸´Ù ´õ ¿À·¡ ÀüÀÇ ÆÄÀÏ -nÀº
¿À´ÃºÎÅÍ nÀÏ Àü±îÁöÀÇ ÆÄÀÏ nÀº Á¤È®È÷ nÀÏ Àü¿¡ ¼öÁ¤µÇ¾úÀ½À» ÀǹÌÇÕ´Ï´Ù. ÇöÀç µð·ºÅ丮 ¾Æ·¡¿¡¼ ¿À´ÃºÎÅÍ
1ÀÏÀü±îÁö °íÄ£ ÆÄÀÏ °Ë»ö. ¸í·É¾î : find –mtime -1
-cnewer ÆÄÀϸí : 'ÆÄÀϸí' ºÎºÐ¿¡ Àû¾îÁØ ÆÄÀϺ¸´Ù ´õ ÃÖ±Ù¿¡ ¼öÁ¤µÈ ÆÄÀϵéÀ»
°Ë»öÇÕ´Ï´Ù. next.txt ÈÀÏÀÌ »ý¼ºµÈ ÀÌÈÄÀÇ ÈÀÏÀ» °Ë»öÇÕ´Ï´Ù. ¸í·É¾î : find . –cnewer next.txt
–print
-user À¯Àú³×ÀÓ : 'À¯Àú³×ÀÓ' ºÎºÐ¿¡ ÁöÁ¤ÇÑ À¯Àú ¼ÒÀ¯ÀÇ ÆÄÀÏÀ»
ã¾ÆÁØ´Ù. aaa¶ó´Â °èÁ¤ÀÇ ÈÀÏÀ» °Ë»öÇÕ´Ï´Ù. find / -user aaa
-group ƯÁ¤ ±×·ì ¼ÒÀ¯ÀÇ ÆÄÀϵéÀ» ãÀ» °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
¸í·É¾î : find . –group test123
-empty ºñ¾îÀÖ´Â ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ ãÀ» °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
-print ãÀº ÆÄÀϵéÀ» Ç¥ÁØÃâ·Â(stdout)À¸·Î Ãâ·ÂÇÑ´Ù. ±âº»À¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù.
-nouser ¼ÒÀ¯ÀÚ°¡ ¾ø´Â ÆÄÀÏÀ» ãÀ» °æ¿ì¿¡ »ç¿ëÇÑ´Ù. Áï, /etc/passwd ÆÄÀÏ¿¡ ¾ø´Â ¼ÒÀ¯ÀÚÀÇ
ÆÄÀÏÀ» ãÀ» °æ¿ì¿¡ »ç¿ëÇÑ´Ù. ¸í·É¾î : find / -nouser
-nogroup ¿Ã¹Ù¸¥ ±×·ìÀÇ ¼ÒÀ¯°¡ ¾Æ´Ñ ÆÄÀÏÀ» ãÀ» °æ¿ì¿¡ »ç¿ëÇÑ´Ù. Áï,
/etc/groups ÆÄÀÏ¿¡ ¾ø´Â ±×·ìÀÇ ¼ÒÀ¯ÀÎ ÆÄÀÏÀ» ãÀ» °æ¿ì¿¡ »ç¿ëÇÑ´Ù. ¸í·É¾î : find / -nogroup
-fprint file ãÀº ÆÄÀϵéÀ» `file'·Î Ãâ·ÂÇÑ´Ù.
`file'ÀÌ Á¸Àç ÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â »õ·Î »ý¼ºµÇ°í, Á¸ÀçÇÒ °æ¿ì¿¡´Â ±âÁ¸ÀÇ ÆÄÀÏÀº ¾ø¾îÁø´Ù. ¸í·É¾î : find .
–name next.txt –fprint file
fprint
file ¸í·É¾î·Î ¸¸µé¾îÁø ÆÄÀÏ
-exec ÆÄÀÏÀ» ã¾ÒÀ» °æ¿ì, ãÀº ÆÄÀϵ鿡 ´ëÇØ Æ¯Á¤ ¸í·ÉÀ» ¼öÇà ÇÒ ¶§ »ç¿ëÇÑ´Ù.
ÀϹÝÀûÀ¸·Î `-exec command {} ;'ÀÇ Çü½ÄÀ» ÃëÇÑ´Ù.
| (ÆÄÀÌÇÁ, pipe, ¼öÁ÷¹Ù) ÀÇ ¶æÀº
"¿ÞÂÊ ÇÁ·Î±×·¥ÀÇ ½ÇÇà °á°ú¸¦ ¿À¸¥ÂÊ ÇÁ·Î±×·¥ÀÇ ÀÔ·ÂÀ¸·Î °ø±ÞÇ϶ó" ÀÔ´Ï´Ù. ÆÄÀÌÇÁ ¿ÞÂÊ°ú ¿À¸¥ÂÊ ÇÁ·Î±×·¥ÀÌ µ¿½Ã¿¡ ½ÇÇàµÈ´Ù´Â °ÍÀº
Ʋ¸° Ç¥ÇöÀÔ´Ï´Ù. ¿ÞÂÊ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ°í ±× °á°ú°¡ output µÇ¸é ¿À¸¥ÂÊ ÇÁ·Î±×·¥ÀÇ inputÀ¸·Î °ø±ÞµÇ´Â °ÍÀÔ´Ï´Ù. µ¿½Ã°¡ ¾Æ´Ñ
¼øÂ÷ÀûÀÎ °³³äÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, "°Ë»ö ÇÁ·Î±×·¥ÀÇ Ãâ·ÂÀ» Á¤·Ä ÇÁ·Î±×·¥À¸·Î ÆÄÀÌÇÁ ½Ãų ¼ö ÀÖ°í ´Ù½Ã ±× °á°ú¸¦ ÇÁ¸°ÆÃ
ÇÁ·Î±×·¥À¸·Î ÆÄÀÌÇÁ ½ÃÅ°°Å³ª ÆÄÀÏ·Î ¸®´ÙÀÌ·ºÆ®Çؼ ÀúÀåÇÒ ¼öµµ ÀÖ´Ù." [¿¹Á¦] ÀÚ½ÅÀÇ ÇöÀç
µð·ºÅ丮¿¡¼ ÆÄÀϸíÀÌ 'next·Î ½ÃÀÛÇÏ´Â'ÀÎ ÆÄÀÏÀ» ãÀ» °æ¿ì ¸í·É¾î : find . -name ¡®next*¡¯
–print
ÇöÀç µð·ºÅ丮 ¹Ø¿¡¼ ù±ÛÀÚ°¡ ¿µ¾î ´ë¹®ÀÚ AÀÎ ¸ðµç ÆÄÀÏÀ» ãÀ» °æ¿ì ¸í·É¾î : find . -name
"[A]*'' -print
È®ÀåÀÚ°¡
.txt ÀÎ ÆÄÀÏÀ» ãÀ¸¸é¼ ÇöÀç µð·ºÅ丮¿Í ÇÑ ´Ü°è ¹ØÀÇ µð·ºÅ丮¿¡¼¸¸ ÆÄÀÏÀ» ãÀ» °æ¿ì ¸í·É¾î : find -maxdepth 2
-name "*.txt'' –print
Àüü
µð·ºÅ丮 ¹Ø¿¡¼ `aaa'À̶ó´Â À̸§À» °¡Áø »ç¿ëÀÚ ¼ÒÀ¯ÀÇ ÆÄÀÏÀ» ãÀ» °æ¿ì ¸í·É¾î : find / -user aaa -print
½Ã½ºÅÛ¿¡¼ ¼ÒÀ¯ÀÚ³ª ±×·ìÀÌ ¾ø´Â ÆÄÀÏÀ» ãÀ» °æ¿ì (Å©·¡Ä¿°¡ ¸¸µé¾î ³õÀº ÆÄÀÏÀÏ °æ¿ìµµ ÀÖÀ½) ¸í·É¾î :
find / -nouser -o -nogroup -print
ÇöÀç
µð·ºÅ丮¿¡¼ °¡Àå Å« ÆÄÀÏÀ» ã±â ¸í·É¾î : find . -type f |
xargs du -s | sort -n | tail -1
À§ ÇÑ ÁÙÀÇ
¸í·É¾î´Â ÇöÀç µð·ºÅ丮¿¡ ¼ºê µð·ºÅ丮 Æ÷ÇÔÇÏ¿© °¡Àå Å« ÆÄÀÏÀ» Çϳª ã¾Æ¼ À̸¦ Ãâ·ÂÇ϶ó´Â ÀǹÌÀÔ´Ï´Ù. °£È¤, ÆÄÀÏ ½Ã½ºÅÛÀÇ FULLÀÌ
µÇ¾î¼ °¡Àå Å« ÆÄÀÏÀ» ãÀ¸·Á°í ÇÒ °æ¿ì ¾ÆÁÖ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. * ÇöÀç µð·ºÅ丮
À§Ä¡¿¡¼ ÇÏÀ§µð·ºÅ丮¸¦ Æ÷ÇÔÇÏ¿© ¡°out.println¡± À̶õ ¹®ÀÚ¿À» Æ÷ÇÔÇÑ ÆÄÀÏ °Ë»ö ¸í·É¾î : find . -type f
| xargs grep " out.println"
ÇöÀç
µð·ºÅ丮¿¡¼nex·Î ½ÃÀ۵Ǵ ÆÄÀÏÀ» ã¾Æ¼ Áö¿ö¶ó ¸í·É¾î : find . –name ¡®nex*¡¯ –exec rm {} \;
|
|