每天一個 Linux 命令:stat 命令

1. 命令簡介

stat 命令用於顯示文件或文件系統的詳細信息。在顯示文件信息時,比 ls 命令更加詳細。

2. 命令格式

stat [OPTION]... FILE..

3. 命令選項

-L, --dereference: 跟隨符號鏈接解析原文件而非符號鏈接;
-f, --file-system: 顯示文件所在文件系統信息而非文件信息;
-c,--format=FORMAT: 以指定格式輸出,而非默認格式;
 顯示文件信息可用格式控制符如下:
 %a:以八進制顯示訪問權限
 %A:以可讀形式顯示訪問權限
 %b:顯示佔有塊數
 %B:顯示每一塊佔有的字節數
 %C:SELinux security context string
 %d:十進制顯示文件所在設備號
 %D:十六進制顯示文件所在設備號
 %f:十六進制顯示文件類型
 %F:文件類型。Linux 下文件類型主要分爲普通文件、目錄、字符設備文件、塊設備文件、符號鏈接文件、套接字等
 %g:文件所有者組 ID
 %G:文件所有者組名稱
 %h:文件硬鏈接數
 %i:inode 號
 %m:文件所在磁盤分區掛載點,比如/data
 %n:文件名稱
 %N:單引號括起來的文件名稱,如果是軟鏈接,則同時顯示指向的文件名稱
 %o:optimal I/O transfer size hint
 %s:實際文件大小,單位字節
 %t:major device type in hex, for character/block device special files
 %T:minor device type in hex, for character/block device special files
 %u:所有者用戶 ID
 %U:所有者用戶名稱
 %w:文件創建時間,輸出-表示無法得知
 %W:文件創建時間,輸出 Unix 時間戳,0 表示無法得知
 %x:可讀形式輸出最後訪問時間 atime
 %X:Unix 時間戳輸出最後訪問時間 atime
 %y:可讀形式輸出最後修改時間 mtime
 %Y:Unix 時間戳輸出後修改時間 mtime
 %z:可讀形式輸出最後狀態改變時間 ctime
 %Z:Unix 時間戳輸出最後狀態改變時間 ctime
 
 顯示文件系統信息可用格式控制符有:
 %a:非超級用戶可使用的自由 block 數
 %b:文件系統總 block 數
 %c:文件系統總文件節點數
 %d:可用文件節點數
 %f:可用文件 block 數
 %i:十六進制文件系統 ID
 %l:最大文件名稱長度
 %n:文件名稱
 %s:一個塊的大小,單位字節(for faster transfers)
 %S:一個塊的基本大小,單位字節(用於統計 block 的數量)
 %t:十六進制輸出文件系統類型
 %T:可讀形式輸出文件系統類型
--printf=FORMAT: 以指定格式輸出,而非默認格式。與--format 作用類似,但可以解釋反斜槓轉義字符,比如換行符、n;
-t, --terse: 簡潔模式輸出,只顯示摘要信息;
--help: 顯示幫助信息;
--version: 顯示版本信息。

4. 常用示例

(1)顯示文件信息。

[root@TENCENT64 ~]# stat Changelog
  File: ‘Changelog’
  Size: 1598       Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d Inode: 1579435     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-06 22:39:54.110931887 +0800
Modify: 2018-11-06 22:39:54.110931887 +0800
Change: 2018-11-06 23:07:14.428548887 +0800
 Birth: -

信息解釋:

File: ‘Changelog’: 文件名稱爲 Changelog
Size: 1598: 文件大小 1598 字節
Blocks: 8:文件佔用的塊數
IO Block: 4096:
regular file:文件類型(普通文件)
Device: fd01h/64769d:文件所在設備號,分別以十六進制和十進制顯示
Inode: 1579435:文件節點號
Links: 1:硬鏈接數
Access: (0644/-rw-r--r--):訪問權限
Uid:所有者 ID 與名稱
Gid:所有者用戶組 ID 與名稱
Access:最後訪問時間
Modify:最後修改時間
Change:最後狀態改變時間
Birth -:無法獲知文件創建時間。注意:Linux 下的文件未存儲文件創建時間

(2)顯示文件所在文件系統信息。

[root@TENCENT64 /data/vas_pgg_proj/apps/penguin_game]# stat -f Makefile
  File: "Makefile"
    ID: 6f75a4f02634e23e Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 43830967   Free: 30155578   Available: 27923259
Inodes: Total: 11162880   Free: 11077199

信息解釋:

File: "Makefile":文件名稱爲"Makefile";
ID: 6f75a4f02634e23e:文件系統 ID
Namelen: 255:最大文件名稱長度
Type: ext2/ext3:文件系統類型名稱
Block size: 4096:塊大小爲 4096 字節
Fundamental block size: 4096:基本塊大小爲 4096 字節
Blocks: Total: 43830967   Free: 30155578   Available: 27923259:
Inodes: Total: 11162880   Free: 11077199

轉自:戀貓大鯉魚 dablelv.blog.csdn.net/article/details/83832834

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/WVfqcdyia9HPLM6K0mmemA