perl : ¸ðµç ÇÏÀ§ µð·ºÅ丮ÀÇ ±ÇÇÑ º¯°æ
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>JPerl>Stat_chmod



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

½Ã½ºÅÛ °ü¸®¸¦ ÇÏ´Ùº¸¸é, ÇÏÀ§ µð·ºÅ丮ÀÇ Æ¯Á¤ Á¾·ùÀÇ ÆÄÀÏ¿¡ ´ëÇØ¼­ ÀϰýÀÛ¾÷À» ÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. À̸¦Å׸é Å©±â°¡ ¾ó¸¶ ÀÌ»óÀÎ ÆÄÀÏÀ» Áö¿ö¾ß ÇѴٰųª, ÆÄÀÏÀÇ ³¯Â¥¸¦ º¯°æ½ÃÄÑ¾ß ÇѴٰųª ÇÏ´Â µîµîÀÇ ÀÏÀÌ´Ù. ³ë°¡´Ù¸¦ ¶Ù´Â ¹æ¹ýµµ ÀÖ°ÚÁö¸¸ ÀÚ°í·Î ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ¹Ì´öÀº °ÔÀ¸¸§ ¾Æ´Ï´ø°¡. ½ºÅ©¸³Æ® Çϳª Àß ¸¸µé¾î µÎ¸é, Çѽð£ ÇØ¾ß ÇÒÀÏÀ» 1ºÐ¿¡ ³¡³¾ ¼ö ÀÖ´Ù. ´ÙÀ½Àº ¸ðµç µð·ºÅ丮ÀÇ ±ÇÇÑÀ» º¯°æÇϱâ À§ÇÑ ½ºÅ©¸³Æ®·Î find(1)¸¦ ¾î¶»°Ô »ç¿ëÇÏ´À³Ä¿¡ µû¶ó¼­ ´Ù¾çÇÑ ÀÀ¿ëÀ» ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

find(1)¸¦ ÀÌ¿ëÇØ¼­ ÆÄÀÏÀÇ ¸®½ºÆ®¸¦ ¾ò¾î¿Â´Ù. C ¾ð¾î¶ó¸é stat() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¾ßÁö¸¸ ÆÄÀÏÀÇ Á¾·ù¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ°ÚÁö¸¸ perl Àº -x¸¦ ÀÌ¿ëÇØ¼­ °£´ÜÇÏ°Ô ÆÄÀÏÀ» Å×½ºÆ® ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº ÆÄÀÏÅ×½ºÆ®¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿¬»êÀÚµéÀÌ´Ù.
  • -r
    effective uid/gid ¿¡ ´ëÇØ¼­ ÀÐÀ» ¼ö ÀÖ´Â ÆÄÀÏ
  • -w
    effective uid/gid ¿¡ ´ëÇØ¼­ ¾µ ¼ö ÀÖ´Â ÆÄÀÏ
  • -x
    effective uid/gid ¿¡ ´ëÇØ¼­ ½ÇÇà°¡´ÉÇÑ ÆÄÀÏ.
  • -o
    effective uid ¿¡ ´ëÇØ¼­ ÆÄÀÏÀ» ¼ÒÀ¯

  • -R
    ½ÇÁ¦ uid/gid¿¡ ´ëÇØ¼­ ÀÐÀ» ±ÇÇÑÀÌ ÀÖ´Â ÆÄÀÏ
  • -W
    ½ÇÁ¦ uid/gid¿¡ ´ëÇØ¼­ ¾²±â ±ÇÇÑÀÌ ÀÖ´Â ÆÄÀÏ
  • -X
    ½ÇÁ¦ uid/gid¿¡ ´ëÇØ¼­ ½ÇÇà±ÇÇÑÀÌ ÀÖ´Â ÆÄÀÏ
  • -O
    ½ÇÁ¦ uid¿¡ ´ëÇØ¼­ ¼ÒÀ¯Çϰí ÀÖ´Â ÆÄÀÏ

  • -e
    ÆÄÀÏÀÌ Á¸ÀçÇϴ°¡
  • -z
    ÆÄÀÏÀÇ Å©±â°¡ 0Àΰ¡
  • -s
    ÆÄÀÏÀÇ Å©±â°¡ 0ÀÌ ¾Æ´Ñ°¡ (Å©±â¸¦ ¸®ÅÏÇÑ´Ù.)

  • -f
    ÀÏ¹Ý ÆÄÀÏÀÎÁö
  • -d
    µð·ºÅ丮 ÀÎÁö
  • -l
    ½Éº¼¸¯ ¸µÅ©ÀÎÁö
  • -p
    named pipe ÀÎÁö
  • -S
    socket(2) ÆÄÀÏÀÎÁö
  • -b
    ºí·° ÆÄÀÏÀÎÁö
  • -c
    ¹®ÀÚÀåÄ¡ ÆÄÀÏÀÎÁö

  • -T
    ASCII ¹®ÀÚ ÆÄÀÏÀÎÁö
  • -B
    ÀÌÁø(binary) ÆÄÀÏÀÎÁö

perl ´ë½Å shell ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÒ ¼ö µµ ÀÖÀ» °ÍÀÌ´Ù.
#!/usr/bin/perl 
 
use File::stat; 
 
open(FD, "find ./|") || die "execute error"; 
 
while($line = <FD>) 
{ 
        $file = trim($line); 
        if (-d $file) 
        { 
                chmod 0755, $file; 
        } 
} 
 
sub trim($) 
{ 
    my $string = shift; 
    $string =~ s/^\s+//; 
    $string =~ s/\s+$//; 
    return $string; 
} 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.