在 Perl 中獲取檔案資訊
您可以使用一系列統稱為 **-X 測試** 的測試運算子在 Perl 中非常快速地測試某些功能。例如,要快速測試檔案上的各種許可權,您可以使用如下指令碼 -
#/usr/bin/perl
my $file = "/usr/test/file1.txt";
my (@description, $size);
if (-e $file) {
push @description, 'binary' if (-B _);
push @description, 'a socket' if (-S _);
push @description, 'a text file' if (-T _);
push @description, 'a block special file' if (-b _);
push @description, 'a character special file' if (-c _);
push @description, 'a directory' if (-d _);
push @description, 'executable' if (-x _);
push @description, (($size = -s _)) ? "$size bytes" : 'empty';
print "$file is ", join(', ',@description),"\n";
}以下是您可以檢查檔案或目錄的功能列表 -
| 序號 | 運算子 & 定義 |
|---|---|
| 1 | -A 指令碼開始時間減去檔案上次訪問時間(以天為單位)。 |
| 2 | -B 它是二進位制檔案嗎? |
| 3 | -C 指令碼開始時間減去檔案上次 inode 更改時間(以天為單位)。 |
| 4 | -M 指令碼開始時間減去檔案修改時間(以天為單位)。 |
| 5 | -O 該檔案是否由真實使用者 ID 擁有? |
| 6 | -R 該檔案是否可由真實使用者 ID 或真實組讀取? |
| 7 | -S 該檔案是否為套接字? |
| 8 | -T 它是文字檔案嗎? |
| 9 | -W 該檔案是否可由真實使用者 ID 或真實組寫入? |
| 10 | -X 該檔案是否可由真實使用者 ID 或真實組執行? |
| 11 | -b 它是塊特殊檔案嗎? |
| 12 | -c 它是字元特殊檔案嗎? |
| 13 | -d 該檔案是否為目錄? |
| 14 | -e 檔案是否存在? |
| 15 | -f 它是普通檔案嗎? |
| 16 | -g 該檔案是否設定了 setgid 位? |
| 17 | -k 該檔案是否設定了粘滯位? |
| 18 | -l 該檔案是否為符號連結? |
| 19 | -o 該檔案是否由有效使用者 ID 擁有? |
| 20 | -p 該檔案是否為命名管道? |
| 21 | -r 該檔案是否可由有效使用者或組 ID 讀取? |
| 22 | -s 返回檔案的大小,零大小 = 空檔案。 |
| 23 | -t 檔案控制代碼是否由 TTY(終端)開啟? |
| 24 | -u 該檔案是否設定了 setuid 位? |
| 25 | -w 該檔案是否可由有效使用者或組 ID 寫入? |
| 26 | -x 該檔案是否可由有效使用者或組 ID 執行? |
| 27 | -z 檔案大小是否為零? |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP