2007-02-02记录
逻辑操作符
与&&
或||
也可写成and,or
三元操作符
express?if_true:if_false
文件检测操作
if -e $filename;
检测选项 含义
-r 文件或目录对此(有效的)用户(effectiveuser)或组是可读的
-w 文件或目录对此(有效的)用户或组是可写的
-x 文件或目录对此(有效的)用户或组是可执行的
-o 文件或目录由本(有效的)用户所有
-R 文件或目录对此用户(realuser)或组是可读的
-W 文件或目录对此用户或组是可写的
-X 文件或目录对此用户或组是可执行的
-O 文件或目录由本用户所有
-e 文件或目录名存在
-z 文件存在,大小为 0(目录恒为 false)
-s 文件或目录存在,大小大于 0(值为文件的大小,单位:字节)
-f 为普通文本
-d 为目录
-l 为符号链接
-S 为socket
-p 为管道(Entryisanamedpipe(a“fifo”))
-b 为block-special 文件(如挂载磁盘)
-c 为character-special 文件(如I/O 设备)
-u setuid 的文件或目录
-g setgid 的文件或目录
-k Fileordirectoryhasthestickybitset
-t 文件句柄为TTY(系统函数 isatty()的返回结果;不能对文件名使用这个测试)
-T 文件有些像“文本”文件
-B 文件有些像“二进制”文件
-M 修改的时间(单位:天)
-A 访问的时间(单位:天)
-C 索引节点修改时间(单位:天)
-M,-A,-C时间检测, 均大写 ,返回系统最后一次修改,访问,以及索引节点被修改到现在的天数
stat函数
lstat函数
my($dev, $ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize, $blockes) = stat($filename);
$dev 和$ino
文件的设备号和索引节点号
$mode
文件的权限位以及一些其它的位
$nlink
文件或目录的(硬)连接数
$uid 和$gid
指文件所有权的userID 及 groupID
$size
返回其大小,单位:字节
$atime,$mtime, 及 $ctime
它们按照系统的时间格式:32位,表示从某个时刻到现在所经过的秒数
当 stat 的参数是符号连接时,其返回的信息是此符号连接指向的实体的信息,而非符号连接本身的信 ,除非此符号连接
所指向的内容不能被访问
stat和lstat的默认参数为$_
localtime函数
my($sec, $min,$hour,$day, $mon,$year,$wday,$yday, $isdst) = localtime $timestamp;
位操作符
按位与&
位位或|
按位异或^
位左移<<,将左边操作数左移右边操作数所指定的位数,被移出的位置(右边)补0
位右移>>,将左边操作数右移动右边操作数所指定的位数,丢弃多余的位数(左边)(
取反~