文件测试操作符 | 含义 |
-r | 文件或目录,对当前(有效的)用户或组来说是可读的 |
-w | 文件或目录,对当前(有效的)用户或组来说是可写的 |
-x | 文件或目录,对当前(有效的)用户或组来说是可执行的 |
-o | 文件或目录,由当前(有效的)用户所拥有 |
-R | 文件或目录,由当前实际的用户或组来说是可读的 |
-W | 文件或目录,由当前实际的用户或组来说是可写的 |
-X | 文件或目录,由当前实际的用户或组来说是可写的 |
-O | 文件或目录,由实际的用户所拥有 |
-e | 文件或目录,是存在的, |
-z | 文件存在而且没有内容(对目录来说永远为假) |
-s | 文件或目录存在而且有内容(返回值是以字节为单位的文件大小) |
-f | 为普通文件 |
-d | 为目录 |
-l | 为符号链接 |
-S | 为 socket 类型文件 |
-p | 命名管道,先入先出的 fifo 队列 |
-b | 块设备文件(比如某个挂载的磁盘) |
-c | 字符设备文件(比如某个 I/O 设备) |
-u | 文件或目录设置了 setuid 位 |
-g | 文件或目录设置了 setgid 位 |
-k | 文件或目录设置了 sticky 位 |
-t | 文件句柄时候 TTY 设备(不能对文件名进行此测试) |
-T | 看起来像是文本文件 |
-B | 看起来像是二进制文件 |
-M | 最后一次修改后到至今的天数 |
-A | 最后一次访问到至今的天数 |
-C | 最后一次文件节点编号(inode)变更后到至今的天数 |
#!/usr/bin/perl
$file = "hello.txt";
if (-r -w $file) {
print "$file is readable and writeable.\n";
}
# ls -al hello.txt
-rw-r--r-- 1 root root 12 2011-10-10 22:53 hello.txt
# ./test.pl
hello.txt is readable and writeable.
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) | Powered by Discuz! X3.2 |