在類 UNIX 系統(tǒng)中,文件名可能與其實(shí)際類型完全不同。在某些情況下,它們甚至沒有有效的擴(kuò)展名。因此,它會使數(shù)據(jù)管理變得更加復(fù)雜。為了方便地組織信息,Linux 提供了一個名為文件命令的程序。它主要用于確定文件類型——美國信息交換標(biāo)準(zhǔn)代碼 (ASCII) 文本或多用途 Internet 郵件擴(kuò)展 (MIME) 格式。在本教程中,您將了解使用該程序的基礎(chǔ)知識以及它如何增強(qiáng)您的服務(wù)器管理和 Linux 操作技能。
了解 Linux 文件命令語法
要在VPS 主機(jī)上使用 Linux 文件命令,您必須將它與 SSH 客戶端(例如 PuTTY 或終端)連接。
在開始之前,我們先分析一下file命令的基本語法:
文件 [選項(xiàng)] [文件名]
- file?– 指示 shell 執(zhí)行文件命令。
- [options]?– 修改命令的操作。
- [文件名]?– 插入您要檢查的文件名。
執(zhí)行時,該命令不考慮文件擴(kuò)展名。相反,它會運(yùn)行三個測試來確定文件類型:
- 文件系統(tǒng)測試——檢查 stat 系統(tǒng)調(diào)用的返回。該程序會檢查它是空文件還是特殊文件類型。它還會查找與您使用的系統(tǒng)相關(guān)的已知格式(如果它們在系統(tǒng)頭文件中指定)。
- 魔術(shù)測試——使用魔術(shù)數(shù)字,文件開頭的一串短數(shù)字,來檢查它是否是二進(jìn)制可執(zhí)行數(shù)據(jù)。如果是,程序?qū)⒋_定它的類型。運(yùn)行此測試的必要信息可從已編譯的魔術(shù)文件中的/etc/magic或/usr/share/misc/magic中獲得。
- 語言測試——檢查寫入文件的字符集,例如 ASCII 文本或 UTF-8。它還會查找出現(xiàn)在前幾行中的任何特殊序列。但是,此測試不如前兩個測試準(zhǔn)確,因此最后執(zhí)行。
命令的輸出使用標(biāo)準(zhǔn)格式顯示文件類型。根據(jù)命令選項(xiàng),它可能會提供其他信息,例如壓縮文件中存儲的數(shù)據(jù)、大小或版本。
在練習(xí)命令選項(xiàng)之前,使用 nano 編輯器創(chuàng)建一個名為test.txt的示例文本:
納米測試.txt
命令行打開新文件后,寫幾行文本并按Ctrl + X和Y退出并保存更改。
輸入Linux文件命令查看test.txt文件是否創(chuàng)建成功:
文件測試.txt
輸出將顯示創(chuàng)建了一個ASCII文本文件:
Linux 文件命令的使用方法
語法中的選項(xiàng)允許您將變量添加到 Linux 文件命令。以下是一些最常見的:
- -b或–brief?– 獲取文件類型的簡短描述。
- file *?– 列出當(dāng)前工作目錄中的所有文件類型。
- -i或–mime?– 顯示 MIME 文件類型。
- -s或–special-files?– 讀取特殊文件。
- -z或–uncompress –檢查并顯示壓縮文件中的信息。
- -c 或 –checking-printout –檢查魔法文件的解析版本。
- -m或–magic-file?– 利用用戶提供的替代魔法文件。
- -d?– 使用標(biāo)準(zhǔn)格式顯示內(nèi)部調(diào)試信息。
- <regex range>?– 獲取特定范圍內(nèi)的文件類型。
- -0或–print0?– 在文件名末尾打印一個空字符。
- –help?– 顯示文件命令的幫助信息。它還列出了可接受的選項(xiàng)及其用法。
在以下部分中,我們將討論如何使用這些選項(xiàng)中的每一個。
檢查文件類型
在 Linux 中,雖然用戶可以重命名他們的文件,但更新后的信息可能并不代表實(shí)際數(shù)據(jù)。要查找正確的文件類型,請輸入:
文件文件名
例如,您將test.txt重命名為text.zip。要顯示有效的文件類型,請輸入:
文件正文.zip
輸出將顯示名稱及其實(shí)際類型,一個 ASCII 文本文件:
要以簡要模式查看格式,請?jiān)诮K端上使用-b選項(xiàng),后跟文件名。例如:
文件 -b 文本.zip
輸出將顯示?不帶名稱的文件類型:
列出多個文件的文件類型
file 命令可以列出主目錄中的每種文件類型。為此,輸入文件并添加通配符 (?*?):
文件 *
該程序?qū)@示所有文件和目錄:
此外,文件命令可以顯示特定目錄中的每種文件類型。這是一般語法:
文件 [目錄路徑]/*
查找 MIME 文件類型
-i選項(xiàng)用于查看MIME 文件類型。它由兩部分組成——類型和子類型。MIME 使用斜杠 (/) 將它們分開,中間沒有空格。
這是一般語法:
file -i 文件名
例如,要查看test2.txt文件的 MIME 類型,請輸入:
文件-i test2.txt
這是上面文件命令的輸出:
該程序沒有將文件格式聲明為 ASCII 文本,而是將文件定義為text/plain和charset=us-ascii。
讀取特殊文件類型
文件命令允許您通過添加-s選項(xiàng)來讀取特殊文件,例如系統(tǒng)信息。
重要的!請記住,只有 root 用戶才能使用 -s 選項(xiàng)運(yùn)行文件命令。否則,您將收到一條無讀取權(quán)限錯誤消息。
此選項(xiàng)僅將文件分類為塊特殊文件、符號鏈接、目錄或不存在。
這是它的一般格式:
sudo file -s 文件名
例如,要讀取ploop19269文件,請輸入:
sudo 文件 -s /dev/ploop19269
輸出表明ploop19269是 DOS/MBR 引導(dǎo)扇區(qū)。
讀取壓縮文件
有兩種方法可以檢查壓縮文件,如ZIP或gzip檔案,-z和-Z選項(xiàng)。前者顯示詳細(xì)信息及其內(nèi)容,而后者僅顯示文件類型。
這是-z選項(xiàng)的一般語法:
file -z 文件名
例如,要讀取test2.txt.gz文件的完整數(shù)據(jù),請輸入:
文件-z test2.txt.gz
輸出指定test2.txt.gz是一個包含test2.txt 的gzip壓縮文件:
這是-Z選項(xiàng)的一般格式:
file -Z 文件名
例如,要僅查看test.gz的文件類型,請輸入:
文件-Z test.gz
此命令只會打印出test.gz中文件的類型——ASCII 文本。
測試文件的解析版本
添加-c選項(xiàng)允許您查看任何文件的解析版本。它顯示類型、操作碼和值等信息。通常,它與-m選項(xiàng)結(jié)合使用以在安裝前調(diào)試新的魔術(shù)文件。
這是它的一般語法:
file -c 文件名
例如,要打印test.txt文件的解析形式,請輸入:
文件-c test.txt
輸出應(yīng)如下所示:
列出文件類型
file 命令使用 Regex 樣式范圍列出目錄中的所有文件類型。鍵入文件并將值放在方括號中,然后是*。
它的一般語法是:
文件 [范圍 1-范圍 2]*
例如,要檢查從a到z范圍內(nèi)的文件,請輸入:
文件 [az]*
輸出應(yīng)如下所示:
由于此程序區(qū)分大小寫,因此輸出將僅顯示以小寫字母 a 到 z 開頭的文件。要包括大寫字符,請?zhí)砑恿硪粋€范圍。例如:
文件 [az]* [AZ]*
輸出如下所示:
結(jié)論
在 UNIX 系統(tǒng)中,文件名和擴(kuò)展名可能與其實(shí)際類型不同。因此,Linux 提供了 file 命令來幫助用戶判斷文件的類型。
執(zhí)行時,使用適當(dāng)?shù)倪x項(xiàng)并指定文件名。有許多可接受的變量可與文件命令一起使用,例如:
- -c?– 測試文件的解析形式。
- -i?– 查找 MIME 類型。
- *?– 列出多個文件。
- -z?– 讀取壓縮內(nèi)容。
我們希望本文能幫助您了解如何使用 Linux 文件命令管理數(shù)據(jù)。如果您有任何問題或建議,請將其留在下面的評論部分。