UNIX - file 指令
【功能】
檢查檔案的種類
【語法】
- file [-h] [-m mfile] [-f ffile] arg...
- file [-h] [-m mfile] -f ffile
- file -c [-m mfile]
【說明】
file 指令可告訴你檔案是屬於那一種類別。
arg 是被檢查的檔案名稱(可使用萬用字元),若 arg 是個文字檔案,則 file 指令會去檢查前面 512 個字元,然後去「猜測」是那種程式語言;若 arg 是個可執行檔,則 file 指令會印出是那個版本;若 arg 是個符號連接則會檢查符號連接所參考到的檔案。
file 指令在判斷檔案的種類是依據 /etc/magic 這個檔案的資料來判斷。使用者可在 -m 選項後指定依據那個檔案的內容做為判斷。
【選項】
選 項 | 說 明 |
-c(check) | 檢查 /etc/magic 這個檔案或用來判斷不同種類的檔案在格式上是否有錯。 |
-f ffile | ffile是個文字檔,內容為那些檔案要被檢查。 |
-h | 不處理符號連接檔,若有檔案為符號連接則僅印出連接到那個檔案而不會去檢查檔案的內容。 |
-m mfile(magic) | 使用 mfile 這個檔案替代 /etc/magic 做為判斷檔案種類的依據。 |
★註: 選項 -h 是在 SVR4 版本時才開始提供。
【範例】
1. 檢查現行目錄下所有檔案的種類:
$ file * | |
autumn: | English text |
check: | commands text |
file.1: | ascii text |
pen: | ELF 32-bit LSB executable 80386 Version 1 |
season: | directory |
space.c: | English text |
spring: | ascii text |
summer: | English text |
time: | empty file |
winter: | ascii text |
2. 檢查在 data 這個檔案中各個檔名所屬的種類:
$ cat data | |
pen | |
season | |
time | |
check | |
$ file -f data | |
pen: | ELF 32-bit LSB executable 80386 Version 1 |
season: | directory |
time: | empty file |
check: | commands text |
data 是個文字檔,內容包含一些檔案的名稱,file 指令會去取出這些檔案的名稱做為被檢查的檔案名稱。