perl取文件大小

my @args = stat ($filename);

my $size = $args[7];

stat()函数返回一个数组。下面是数组各元素的含义。

0 dev 设备号 驱动器号(C:通常是2,D:通常是3,等等)

1 ino 索引节号 总是0

2 mode 文件的方式 无

3 nlink 链接号 通常为0;Windows NT;文件系统允许链接

4 uid 文件所有者的用户ID(UID)总是0

5 gid 文件所有者的组ID(GID)总是0

6 rdev 特殊文件信息 驱动器号(重复)

7 size 文件大小(以字节计)文件大小(以字节计)

8 atime 上次访问的时间 上次访问的时间

9 mtime 上次修改的时间 上次修改的时间

10 ctime Inode修改时间 文件的创建时间

11 blksz 磁盘块的大小 总是0

12 blocks 文件中的块的数量 总是0

例:获取文件时间

my @array = stat("mysql.tar.gz");

print "$array[9]/n";

$size=(stat)[7]

$size=(stat filename)[7]

perl中的文件测试参数

-r 文件或是目录对该(有效)用户或组可读

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

-x 文件或是目录对该(有效)用户或组可

-o 文件或是目录被该(有效)用户所有

-R 文件或目录对该实际用户或组可读

-W 文件或目录对该实际用户或组可写

-X 文件或目录对该实际用户或组可执行

-O 文件或目录被该实际用户所有

-e 文件或目录存在

-z 文件存在,大小为零,判断文件是否大小为零(对目录总为假)

-s 文件存在,大小非零(即,文件大小,单位为字节)

-f 条目是个普通文件

-d 条目是个普通目录

-l 条目是个符号连接

-S 条目是个套接字

-p 条目是个命名管道(一个fifo)

-b 条目是个特殊(block-special)文件(如一个可装载磁盘)

-c 条目是个字符特殊(character-special)文件(如一个I/O设备)

-u 文件或目录是setuid

-g 文件或目录是setgid

-k 文件或目录的粘着位(sticky bit)被设置

-t 文件句柄是个TTY(可由isatty()系统函数返回;文件名不能由本测试来测试)

-T 文件像是个“文本”文件

-B 文件像是个“二进制”文件

-M 更改年龄(单位:天)

-A 访问年龄(单位:天)

-C Inode更改年龄(单位:天)