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
參考文獻
[1]man stat [2]【Linux】Linux下使用stat命令所顯示出來的三個時間 [3]linux stat命令參數詳解 [4]磁盤、分區及Linux文件系統 [Disk, Partition, Linux File System]