linux常用命令 file

2021-10-25 01:26:38 字數 2008 閱讀 4926

file 命令試圖檢查每個引數以判定檔案的型別.檢查共有三組,按如下順序進行:檔案系統檢查,幻數檢查,以及語言檢查. 檔案系統 檢查成功則輸出檔案型別。

輸出的型別一般會包含以下的詞中的乙個: text (檔案中僅有 ascii 字元,可以用 ascii 終端讀此檔案,以保證內容的可靠性), exe‐cutable (檔案中儲存的是程式編譯後的結果,一些unix 核心或其它核心能理解這類檔案), 或者 data 表示所有其它型別檔案(data一般為二進位制檔案或者不可列印的).但是有的常用的檔案格式(如core檔案、tar包),雖然也包含二進位制資料,卻不屬於這一類

如果要修改/usr/share/magic或者程式本身,preserve these keywords .當檔案為text'' 型別時,認為此檔案為可讀檔案.不要象在berkeley環境中那樣做 - 要把shell commands text』『改為``shell script』』.

檔案系統檢查是建立在對stat(2)系統呼叫結果的分析上的.程式會分析檔案是否為空,或者是否是某種特殊檔案.對於所有可在現有系統上使用的檔案型別 (比如套介面檔案,動態鏈結檔案,命名管道檔案(fifos) 等), 只要它在系統標頭檔案 sys/stat.h中已經定義過,就可以被檢查到.

幻數檢查用來檢查檔案中是否有特殊的固定格式的資料.規範的例子如二進位制可執行檔案(編譯後的程式)a.out ,該檔案格式在標準include目錄下的a.out.**件中定義,也可能在exec.h中定義.這些檔案在檔案開始部分附近的乙個特殊位置儲存有乙個』幻數』,通過幻數告訴unix 作業系統此檔案是二進位制可執行檔案, 和其中包含的其它型別. 幻數的概念已經擴充套件到資料檔案.任何在檔案固定位置有與檔案型別 相關的不變識別符號的檔案都可以這樣表示.這些檔案中的資訊可以從幻數檔案 /usr/share/magic 中讀取.

如果檔案為 ascii 檔案, file 會試圖檢查它的語言. 語言檢查在檔案開始的幾個塊中(任意位置)查詢是否有特殊字串(參看 names.h)例如,關鍵字.br指出此檔案很可能是 troff(1)輸入檔案,而關鍵字struct指出此檔案是c程式. 語言檢查不如前兩組檢查可靠,所以放在最後執行.它也用來檢查一些混合檔案(例如ar(1)存檔檔案)並確定檔案是ascii text'型別還是data』型別.

常用選項

-b,不輸出檔名

[root@mgr1 ~]

# file -b f1.sh

ascii text

-c,檢查時列印輸出幻數檔案的解析結果.常與 -m 一起使用,用來在安裝幻數檔案之前除錯它.

[root@mgr1 ~]

# file -c -m f1.sh

unknown, 0: warning: using regular magic file `f1.sh'

cont offset type opcode mask value desc

f1.sh, 1: warning: offset `hostname' invalid

f1.sh, 1: warning: type `hostname' invalid

file: could not find any magic files!

-n,每檢查完乙個檔案就強制重新整理標準輸出. 僅在檢查一組檔案時才有效. 一般在將檔案型別輸出到管道時才採用此選項

[root@mgr1 ~]

# file -n tracker.conf f1.sh

tracker.conf: ascii text

f1.sh: ascii text

-z,試圖檢視壓縮檔案內部資訊.

[root@mgr1 ~]

# file -z openssh-8.1p1.tar.gz

openssh-8.1p1.tar.gz: posix tar archive (gzip compressed data

,from unix)

若要了解詳細資訊,請通過檢視man文件了解更過命令資訊

linux常用命令 file

linux file命令用於辨識檔案型別 因為在linux中檔案的副檔名和檔案本身很多時候是沒有關係的 並不是所有的檔案都是沒有關係的 不像windows中 檔案 和 副檔名 關聯的那麼密切,你在windows中改了檔案的副檔名,檔案就不能用了,而linux中不是這樣的,所以有了file命令用來檢視...

Linux常用命令之Linux常用命令實戰知識點

在在複習linux,這是以前做的筆記,分享一下。linux系統 一切皆檔案 操作檔案就是操作linux系統 一 linux版本 1 redhat 企業版 收費 2 centos redhat的社群版 免費 3 ubuntu 4 紅旗 二 linux的特點 1 多使用者 多工 2 豐富的網路功能 3 ...

LINUX常用命令

一 目錄結構 目錄名稱 意 義 vmlinuz 該目錄中存放的是系統核心 bin 該目錄中存放linux的常用命令,在有的版本中是一些和根目錄下相同的目錄。boot 該目錄下存放的都是系統啟動時要用到的程式,當用lilo引導linux時,會用到這裡的一些資訊 dev 該目錄包含了linux系統中使用...