perl中stat函数怎么计算文件的大小

perl中stat函数怎么计算文件的大小,第1张

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更改年龄(单位:天)

解答:

ls -lh或者ls -l -h 把把文件和文件夹列表方式列出,并且显示大小;

第一行是不是有一个1.1k,这就是文件的大小,但是下面一行58为什么没有显示k呢,因为他比“k”还小,是“B”。

为什么1KB = 1024B而不是1000B,因为由于16位元电脑,记忆体用16 bits去格式化(format) 记忆体位元组基本单位是1 byte = 8 bits = 2^8是一个英文字大小,你要1000 bits一样得用到1024 bits = 16*64组的记忆体才行,而1 kb = 1000 bits这只会让每1 kb浪费了24 bits的空间

扩展资料:

ls常用参数:

ls -a 把所有文件和目录列出来,包含隐藏的文件和目录。

ls -l 把文件和文件夹列表方式列出

ls -lh或者ls -l -h 把把文件和文件夹列表方式列出,并且显示大小;

ls -lha或者ls -l -h -a 把所有文件夹和文件(包括隐藏的)列表方式列出,并且包含大小;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11515891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存