Linux命令(48)——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

參考文獻

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章