了解Linux文件命令語法,Linux文件命令的使用方法

      在類 UNIX 系統中,文件名可能與其實際類型完全不同。在某些情況下,它們甚至沒有有效的擴展名。因此,它會使數據管理變得更加復雜。為了方便地組織信息,Linux 提供了一個名為文件命令的程序。它主要用于確定文件類型——美國信息交換標準代碼 (ASCII) 文本或多用途 Internet 郵件擴展 (MIME) 格式。在本教程中,您將了解使用該程序的基礎知識以及它如何增強您的服務器管理和 Linux 操作技能。

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      了解 Linux 文件命令語法

      要在VPS 主機上使用 Linux 文件命令,您必須將它與 SSH 客戶端(例如 PuTTY 或終端)連接。

      在開始之前,我們先分析一下file命令的基本語法:

      文件 [選項] [文件名]

      • file?– 指示 shell 執行文件命令。
      • [options]?– 修改命令的操作。
      • [文件名]?– 插入您要檢查的文件名。

      執行時,該命令不考慮文件擴展名。相反,它會運行三個測試來確定文件類型:

      • 文件系統測試——檢查 stat 系統調用的返回。該程序會檢查它是空文件還是特殊文件類型。它還會查找與您使用的系統相關的已知格式(如果它們在系統頭文件中指定)。
      • 魔術測試——使用魔術數字,文件開頭的一串短數字,來檢查它是否是二進制可執行數據。如果是,程序將確定它的類型。運行此測試的必要信息可從已編譯的魔術文件中的/etc/magic或/usr/share/misc/magic中獲得。
      • 語言測試——檢查寫入文件的字符集,例如 ASCII 文本或 UTF-8。它還會查找出現在前幾行中的任何特殊序列。但是,此測試不如前兩個測試準確,因此最后執行。

      命令的輸出使用標準格式顯示文件類型。根據命令選項,它可能會提供其他信息,例如壓縮文件中存儲的數據、大小或版本。

      在練習命令選項之前,使用 nano 編輯器創建一個名為test.txt的示例文本:

      納米測試.txt

      命令行打開新文件后,寫幾行文本并按Ctrl + X和Y退出并保存更改。

      輸入Linux文件命令查看test.txt文件是否創建成功:

      文件測試.txt

      輸出將顯示創建了一個ASCII文本文件:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      Linux 文件命令的使用方法

      語法中的選項允許您將變量添加到 Linux 文件命令。以下是一些最常見的:

      • -b或–brief?– 獲取文件類型的簡短描述。
      • file *?– 列出當前工作目錄中的所有文件類型。
      • -i或–mime?– 顯示 MIME 文件類型。
      • -s或–special-files?– 讀取特殊文件。
      • -z或–uncompress –檢查并顯示壓縮文件中的信息。
      • -c 或 –checking-printout –檢查魔法文件的解析版本。
      • -m或–magic-file?– 利用用戶提供的替代魔法文件。
      • -d?– 使用標準格式顯示內部調試信息。
      • <regex range>?– 獲取特定范圍內的文件類型。
      • -0或–print0?– 在文件名末尾打印一個空字符。
      • –help?– 顯示文件命令的幫助信息。它還列出了可接受的選項及其用法。

      在以下部分中,我們將討論如何使用這些選項中的每一個。

      檢查文件類型

      在 Linux 中,雖然用戶可以重命名他們的文件,但更新后的信息可能并不代表實際數據。要查找正確的文件類型,請輸入:

      文件文件名

      例如,您將test.txt重命名為text.zip。要顯示有效的文件類型,請輸入:

      文件正文.zip

      輸出將顯示名稱及其實際類型,一個 ASCII 文本文件:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      要以簡要模式查看格式,請在終端上使用-b選項,后跟文件名。例如:

      文件 -b 文本.zip

      輸出將顯示?不帶名稱的文件類型:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      列出多個文件的文件類型

      file 命令可以列出主目錄中的每種文件類型。為此,輸入文件并添加通配符 (?*?):

      文件 *

      該程序將顯示所有文件和目錄:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      此外,文件命令可以顯示特定目錄中的每種文件類型。這是一般語法:

      文件 [目錄路徑]/*

      查找 MIME 文件類型

      -i選項用于查看MIME 文件類型。它由兩部分組成——類型和子類型。MIME 使用斜杠 (/) 將它們分開,中間沒有空格。

      這是一般語法:

      file -i 文件名

      例如,要查看test2.txt文件的 MIME 類型,請輸入:

      文件-i test2.txt

      這是上面文件命令的輸出:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      該程序沒有將文件格式聲明為 ASCII 文本,而是將文件定義為text/plain和charset=us-ascii。

      讀取特殊文件類型

      文件命令允許您通過添加-s選項來讀取特殊文件,例如系統信息。

      重要的!請記住,只有 root 用戶才能使用 -s 選項運行文件命令。否則,您將收到一條無讀取權限錯誤消息。

      此選項僅將文件分類為塊特殊文件、符號鏈接、目錄或不存在。

      這是它的一般格式:

      sudo file -s 文件名

      例如,要讀取ploop19269文件,請輸入:

      sudo 文件 -s /dev/ploop19269

      輸出表明ploop19269是 DOS/MBR 引導扇區。

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      讀取壓縮文件

      有兩種方法可以檢查壓縮文件,如ZIP或gzip檔案,-z和-Z選項。前者顯示詳細信息及其內容,而后者僅顯示文件類型。

      這是-z選項的一般語法:

      file -z 文件名

      例如,要讀取test2.txt.gz文件的完整數據,請輸入:

      文件-z test2.txt.gz

      輸出指定test2.txt.gz是一個包含test2.txt 的gzip壓縮文件:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      這是-Z選項的一般格式:

      file -Z 文件名

      例如,要僅查看test.gz的文件類型,請輸入:

      文件-Z test.gz

      此命令只會打印出test.gz中文件的類型——ASCII 文本。

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      測試文件的解析版本

      添加-c選項允許您查看任何文件的解析版本。它顯示類型、操作碼和值等信息。通常,它與-m選項結合使用以在安裝前調試新的魔術文件。

      這是它的一般語法:

      file -c 文件名

      例如,要打印test.txt文件的解析形式,請輸入:

      文件-c test.txt

      輸出應如下所示:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      列出文件類型

      file 命令使用 Regex 樣式范圍列出目錄中的所有文件類型。鍵入文件并將值放在方括號中,然后是*。

      它的一般語法是:

      文件 [范圍 1-范圍 2]*

      例如,要檢查從a到z范圍內的文件,請輸入:

      文件 [az]*

      輸出應如下所示:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      由于此程序區分大小寫,因此輸出將僅顯示以小寫字母 a 到 z 開頭的文件。要包括大寫字符,請添加另一個范圍。例如:

      文件 [az]* [AZ]*

      輸出如下所示:

      了解Linux文件命令語法,Linux文件命令的使用方法-南華中天

      結論

      在 UNIX 系統中,文件名和擴展名可能與其實際類型不同。因此,Linux 提供了 file 命令來幫助用戶判斷文件的類型。

      執行時,使用適當的選項并指定文件名。有許多可接受的變量可與文件命令一起使用,例如:

      • -c?– 測試文件的解析形式。
      • -i?– 查找 MIME 類型。
      • *?– 列出多個文件。
      • -z?– 讀取壓縮內容。

      我們希望本文能幫助您了解如何使用 Linux 文件命令管理數據。如果您有任何問題或建議,請將其留在下面的評論部分。