Perl学习笔记 No.11

1.    die "Oops!A file named '$filename' already existed!"

              if -e $filename

       使用-e选项,在系统创建文件前检测文件是否已存在

2.    warn “Config file is looking pretty old! /n ”
              if  -M CONFIG > 28; #CONFIG是一个文件句柄

        使用-M选项,检查某个文件是否长时间未被修改...

3.     if -s $filename > 100_100 and -A $filename > 90;文件大于100KB,并且90天未被访问

4.     Unix 文件系统包括几种类型,分别可由-f , - d, - l, -S, - p, -b, 以及- c 检测,任何一种必属于其中之一 .

5.     my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime, $blksize, $blockes)
              = stat($filename);

         这些名字表明了 stat 返回的值的含义.

         $dev 和 $ino
         文件的设备号和索引节点号.它们组成了文件的“ 牌照(license plate)”. 即便它有多个名字(硬连接 (hard link),设
         备号和索引节点号的组合仍是唯一的。)

         $mode
         文件的权限位以及一些其它的位.比如0755.

         $nlink
         文件或目录的(硬 )连接数.是指被检测项真实名字的个数 .对于目录其值总是 2 或者更大的数,而对于文件(通常)
         是 1.

         $uid 和 $gid
         指文件所有权的 user ID 及 group ID

         $size
         返回其大小.单位:字节.同 -s文件检测项相同.

         $atime, $mtime, 及 $ctime
         这三个时间,它们按照系统的时间格式 :32 位 ,表示从某个时刻到现在所经过的秒数,这个时刻是记录系统时间的一
         个任意值.在 Unix 和别的某些系统中,这个时刻从世界时间 1970 年第一个午夜开始,但在某些系统中 ,这个时刻可
         能不同.

6.      my $timestamp = 1180630098;
         my $date = localtime $timestamp; #这样可以转换成可阅读的模式"The May 31 09:48:18 2007"

         在列表上下文中localtime返回一列值

         my($sec, $min, $hour, $day, $mon, $year, $wday, $yday, $isdst)
                  = localtime $timestamp;
        $mon 是一个表示月份的数字,范围是 0 到 11 ,其在月份名字的数组中作为索引值是比较方便的 .$year 是指从 1900 现在的年份数,因此,需要加上 1900 来得到实际的年数.$wday 的值是从 0 (星期天 )到 6 (星期六 ). $yday 指一年中的具体天数,从0(1 月 1 日 )到 364 或 365(12 月 31 )。

 

 

 

               文件检测选项及其含义
检测选项                                                                        含义
      -r                                          文件或目录对此( 有效的) 用户( effective user) 或组是可读的

     -w                                         文件或目录对此( 有效的) 用户或组是可写的

     -x                                          文件或目录对此( 有效的) 用 户或组是可执行的

     -o                                          文件或目录由本( 有效的) 用户所有


     -R                                         文件或目录对此用户 (real user)或组是可读的

     -W                                        文件或目录对此用户或组是可写的

     -X                                         文件或目录对此用户或组是可执行的

     -O                                         文件或目录由本用户所有

     -e                                          文件或目录名存在

     -z                                          文件存在,大小为 0(目录恒为 false)

     -s                                         文件或目录存在, 大小大于 0(值为文件的大小 ,单位 :字节)

     -f                                           为普通文本

     -d                                          为目录

     -l                                           为符号链接

     -S                                           为 socket


     -p                                         为管道 (Entry is a named pipe(a “ ”       fifo ))

     -b                                         为 block -special 文件(如挂载磁盘 )

     -c                                         为 character- special 文件(如 I/O 设备)

     -u                                            setuid 的文件或目录

     -g                                            setgid 的文件或目录

     -k                                           File or directory has the sticky bit set

     -t                                            文件句柄为 TTY (系统函数 isatty()的返回结果;不能对文件名使用这个测试 )

    -T                                             文件有些像“ 文本”文件


    -B                                            文件有些像“ 二进制” 文件

    -M                                            修改的时间( 单位:天 )

    -A                                             访问的时间( 单位:天 )

    -C                                             索引节点修改时间(单位: 天 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值