Perl语言入门(第五版) 读书笔记(六)---文件测试

第十二章 文件测试
1. 文件测试操作符
 -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:索引节点修改时间(单位:天)
 
 print "$filename \n" if -s $filename > 100_000 and -A $filename > 90;
 our $size_in_k = (-s) / 1024; # 即 -s $_ , 必须带括号
 foreach (@filelist) { 
  print "$_ is readable\n" if -r ; /*即 -r $_ 
 }
 if ( -e $filename and -r $filename ) {}
 if ( -e $filename and -r _ ) {} # _代表上回查询的文件
 if ( -r -w -x -o -d $filename ) {}  #栈式测试,靠近文件名的先执行

2. stat、lstat、localtime、gmtime、time函数
 time 函数可以从系统时钟取得当前时间;
 my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime, $blksize, $blocks) = stat($filename)
 lstat查看符号链接文件本身的属性。
 my ($sec,$min,$hour,$mday,$mon,$year_off,$wday,$yday,$isdat) = localtime; # localtime(time())

3. 位运算
 &按位与 |按位或  ^按位异或  ~按位取反(对串和整数都可使用)  <<左移  >>右移

阅读更多
个人分类: Perl
上一篇Perl语言入门(第五版) 读书笔记(五)---其他控制结构、Perl模块
下一篇Perl语言入门(第五版) 读书笔记(七)---目录操作
想对作者说点什么? 我来说一句

Perl语言入门(第五版) 中文版

2012年11月30日 25.25MB 下载

Perl语言入门(第五版)英文原版.zip

2011年05月05日 6.22MB 下载

perl语言入门第五版本二

2010年01月29日 4.88MB 下载

perl语言入门第五版本五

2010年01月29日 4.72MB 下载

perl语言入门第五版本一

2010年01月29日 4.88MB 下载

perl语言入门第五版本四

2010年01月29日 4.88MB 下载

没有更多推荐了,返回首页

关闭
关闭