Perl取文件大小以及文件測試參數

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更改年齡(單位:天)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章