Linux中的8個Stat命令示例

在Linux中,似乎總是有一種巧妙的方法來完成任務。 對於任何任務,總是有多個命令行實用程序可以更好地執行它。 Linux stat命令是一個命令行工具,用於顯示有關文件的詳細信息。 在本指南中,我們重點介紹Linux中8種stat命令的用法。 這適用於所有Linux發行版。

Linux stat命令

將stat命令視為ls -l命令的更好版本。 雖然-l標誌提供了有關文件的更多詳細信息,例如文件所有權和權限,但stat命令更深入了,並提供了有關文件的大量信息。

Linux stat命令的語法如下所示:

$ stat [OPTION] 文件名

1)Stat命令不帶參數

stat命令以最簡單的形式(沒有任何參數)顯示默認輸出。 這包括文件大小和類型,設備類型,索引節點號,UID,GID,鏈接數和文件的訪問/修改日期。

例如,要查看當前主目錄中文件的文件詳細信息,請執行:

$ stat file1.txt

讓我們充實輸出:

  • 文件:顯示文件名。
  • 大小:文件大小,以字節為單位。
  • 塊:分配給文件的塊數。
  • IO塊:這是每個塊的字節大小。
  • 設備:設備編號,十六進制或十進制格式。
  • 索引節點:這是文件的索引節點號。
  • 鏈接:與文件關聯的硬鏈接數。
  • 訪問權限:符號或數字格式的文件權限。
  • Uid:所有者的用戶ID和名稱。
  • Gid:群組ID和所有者名稱。
  • 上下文:SeLinux安全上下文
  • 文件類型:顯示文件的類型(常規文件,符號鏈接等)。
  • 訪問:顯示上次訪問文件的時間。
  • 修改:顯示上次更改文件內容的時間。
  • 更改:顯示文件元數據(例如權限和所有權)上次更改的時間。

2)查看有關多個文件的信息

您可以通過在命令行上依次指定文件來查看有關多個文件的詳細報告,如圖所示。

$ stat file1.txt file2.pdf

帶有多個文件的Stat命令

3)顯示文件系統狀態

您可以使用-f選項來檢查文件所在的文件系統狀態,如下所示。 這為您提供了塊大小,總內存和可用內存,僅提及一些屬性。

$ stat -f /home

Stat命令文件系統Linux

4)以簡潔的形式顯示信息

-t選項用於以簡潔的格式顯示信息,如下所示:

$ stat -t file1.txt

簡要格式的統計命令

5)啟用符號鏈接的跟隨

通常,如果在符號鏈接上運行stat命令,它將僅為您提供有關鏈接的信息,而不會提供鏈接指向的文件。 以/ usr / share / zoneinfo / America / Cayman符號鏈接為例。

$ stat /usr/share/zoneinfo/America/Cayman

stat命令符號鏈接文件

在上面的示例中,符號鏈接/ usr / share / zoneinfo / America / Cayman指向(->)巴拿馬。 符號鏈接只有6個字節。

要獲取有關鏈接指向的文件的信息,請使用-L選項,也稱為 取消引用 選項。

$ stat -L /usr/share/zoneinfo/America/Cayman

現在,這將顯示有關文件而不是鏈接的信息,即使輸出表明它是鏈接。 這是因為我們通過stat命令將其作為參數傳遞。

帶有引用的stat命令

6)格式排序

從前面的示例中,我們已經看到stat命令在終端上打印出一系列信息。 如果需要特定信息,可以使用格式序列來自定義輸出,以準確提供所需內容並保留其他詳細信息。

用於自定義輸出的常用表達式包括–printf或–format選項

例如,要僅顯示文件的索引節點,請使用%i格式序列,如下所示。 n操作數打印新行。

$ stat --printf="%in" file1.txt

格式統計命令輸出

要顯示訪問權限和uid(用戶ID),請使用%a和%u格式序列。

$ stat --printf="%a:%un" file1.txt

stat-access-rights-userid-linux

–format選項可打印出新行,而無需其他操作數。

$ stat --format="%a:%F" file1.txt

附加操作數統計命令

這是您可以使用的格式序列的完整列表:

  • %a以八進制格式顯示訪問權限。
  • %A以易於閱讀的格式顯示訪問權限。
  • %b這是分配的塊數(請參見%B)。
  • %B由%b報告的每個塊的字節大小。
  • %C顯示SELinux安全上下文字符串。
  • %d以十進制格式顯示設備編號。
  • %D十六進制格式的設備號。
  • %f以十六進制顯示原始模式。
  • %F顯示文件類型。
  • %g打印所有者的組ID。
  • %G打印所有者的組名。
  • %h顯示硬鏈接數。
  • %i打印出索引節點號。
  • %m打印安裝點。
  • %n顯示文件的文件名
  • %N顯示帶符號引用的文件名,如果使用符號鏈接則取消引用
  • %o打印最佳I / O傳輸大小提示。
  • %s的總大小(以字節為單位)。
  • %t主要設備類型(十六進制),用於字符/塊設備特殊文件
  • %T次要設備類型(十六進制),用於字符/塊設備特殊文件
  • %u顯示所有者的用戶ID。
  • %U打印所有者的用戶名。
  • %w顯示文件的生成時間,易於閱讀; –如果未知。
  • %W打印文件誕生的時間,距離紀元後的秒數; 如果未知,則為0。
  • %x上次訪問的時間,人類可以理解。
  • %X上次訪問的時間,距離紀元以來的秒數。
  • %y顯示上次修改的最後時間,便於閱讀。
  • %Y打印上次修改的時間,距離紀元以來的秒數。
  • %z這是上次更改的時間,人類可以理解。
  • %Z最後一次更改的時間,距離紀元以來的秒數。

7)獲得有關stat命令的幫助

有關更多命令選項,請使用–help選項和stat命令,如圖所示。

$ stat --help

統計命令幫助

您還可以訪問stat命令的手冊頁,運行

$ man stat

手冊頁狀態命令

8)檢查stat版本

最後檢查stat命令的版本,運行命令:

$ stat --version

統計命令版本

這就是我們在本指南中為您準備的。 如您所見,stat命令超越了ls命令為您提供的功能,非常適合收集有關文件或文件系統的詳細信息。

另請閱讀Linux中14個有用的’ls’命令示例

Sidebar