溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中stat命令顯示文件的使用教程

發(fā)布時間:2021-08-30 21:20:02 來源:億速云 閱讀:159 作者:chen 欄目:系統(tǒng)運維

這篇文章主要講解了“Linux中stat命令顯示文件的使用教程”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux中stat命令顯示文件的使用教程”吧!

用法:stat [選項]... 文件...
顯示文件或文件系統(tǒng)的狀態(tài)。

  -L, --dereference     跟隨鏈接
  -f, --file-system     顯示文件系統(tǒng)狀態(tài)而非文件狀態(tài)
  -c --format=格式      使用指定輸出格式代替默認值,每用一次指定格式換一新行
      --printf=格式     類似 --format,但是會解釋反斜杠轉(zhuǎn)義符,不使用換行作
                                輸出結(jié)尾。如果您仍希望使用換行,可以在格式中
                                加入"\n"
  -t, --terse           使用簡潔格式輸出
      --help            顯示此幫助信息并退出
      --version         顯示版本信息并退出

有效的文件格式序列(不使用 --file-system):

  %a    八進制權限
  %A   用可讀性較好的方式輸出權限
  %b   計算已分配塊數(shù)(參見%B)
  %B   以字節(jié)為單位輸出%b 所報告的每個塊的大小
  %C   SELinux 安全環(huán)境字符串
  %d    十進制設備編號
  %D    十六進制設備編號
  %f    十六進制原始模式
  %F    文件類型
  %g    文件的屬組ID
  %G    文件的屬組組名
  %h    硬鏈接數(shù)量
  %i    Inode 編號
  %m    掛載點
  %n    文件名
  %N    如果對象是一個符號鏈接,顯示引用到的其它文件名
  %o    I/O 塊大小
  %s    總計大小,以字節(jié)為單位
  %t    十六進制主設備類型
  %T    十六進制子設備類型
  %u    文件的屬主ID
  %U    文件的屬主用戶名
  %w    文件創(chuàng)建時間,若未知則顯示"-"
  %W    從UNIX 元年起以秒計的文件創(chuàng)建時間,若未知則顯示"-"
  %x    上次訪問時間
  %X    從UNIX 元年起以秒計的上次訪問時間
  %y    上次修改時間
  %Y    從UNIX 元年起以秒計的上次修改時間
  %z    上次更改時間
  %Z    從UNIX 元年起以秒計的上次更改時間

有效的文件系統(tǒng)格式序列:

  %a    非超級用戶可用的剩余塊數(shù)
  %b    文件系統(tǒng)的總數(shù)據(jù)塊數(shù)
  %c    文件系統(tǒng)中文件節(jié)點總數(shù)
  %d    文件系統(tǒng)中空閑文件節(jié)點數(shù)
  %f    文件系統(tǒng)中空閑塊數(shù)
  %i    十六進制文件系統(tǒng)ID
  %I    允許的文件名最大長度
  %n    文件名
  %s    塊大小(用于快速傳輸)
  %S    基本塊大小(用于塊計數(shù))
  %t    十六進制類型描述
  %T    可讀性較好的類型描述

注意:您的shell 內(nèi)含自己的stat 程序版本,它會覆蓋這里所提及的相應
版本。請查閱您的shell 文檔獲知它所支持的選項。


ls 命令及其許多參數(shù)提供了一些非常有用的文件信息。另一個不太為人所熟知的命令 stat 提供了一些更為有用的信息。
下面演示了如何對可執(zhí)行文件“oracle”(位于 $ORACLE_HOME/bin 目錄下)使用此命令。

代碼如下:


# cd $ORACLE_HOME/bin
# stat oracle
 File: `oracle'
 Size: 93300148        Blocks:182424     IO Block:4096   Regular File
Device: 343h/835d       Inode: 12009652    Links: 1    
Access: (6751/-rwsr-s--x)  Uid:(  500/  oracle)   Gid:(  500/     dba)
Access: 2006-08-04 04:30:52.000000000 -0400
Modify: 2005-11-02 11:49:47.000000000 -0500
Change: 2005-11-02 11:55:24.000000000 -0500


注意使用該命令獲得的信息:除了通常的文件大小(也可以使用 ls -l 命令獲得)以外,您還獲得了該文件占用的塊數(shù)。通常的 Linux 塊大小為 512 字節(jié),因此一個大小為 93,300,148 字節(jié)的文件將占用 (93300148/512=) 182226.85 個塊。由于塊都是完整占用,因此該文件使用了一些整數(shù)個數(shù)的塊。無需猜測就可以獲得確切的塊數(shù)。
您還可以從以上輸出中獲得文件所有權的 GID 和 UID,以及權限的八進制表示形式 (6751)。如果要將文件恢復到它現(xiàn)在具有的相同權限,可以使用 chmod 6751 oracle,而不是顯式拼寫這些權限。
以上輸出最有用的部分是文件訪問時間戳信息。該輸出顯示,該文件被訪問的時間是 2006-08-04 04:30:52(顯示在“Access:”的旁邊),即 2006 年 8 月 4 日上午 4:30:52。這是某個人開始使用數(shù)據(jù)庫的時間。該文件的修改時間是 2005-11-02 11:49:47(顯示在“Modify:”的旁邊)。最后,“Change:”旁邊的時間戳顯示文件狀態(tài)更改的時間。
stat 命令的修改符 -f 顯示了有關文件系統(tǒng)(而非文件)的信息:

代碼如下:


# stat -f oracle
 File: "oracle"
   ID: 0        Namelen:255     Type:ext2/ext3
Blocks: Total: 24033242   Free: 15419301   Available: 14198462   Size: 4096
Inodes: Total: 12222464   Free: 12093976


另一個選項 -t 顯示了完全相同的信息,只不過是在一行中顯示的:

代碼如下:


# stat -t oracle
oracle 93300148 182424 8de9 500 500 343 12009652 1 0 0 1154682061
1130950187 1130950524 4096


這對 shell 腳本非常有用,在 shell 腳本中可以使用一個簡單的 cut 命令獲得值以進行進一步處理。

感謝各位的閱讀,以上就是“Linux中stat命令顯示文件的使用教程”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Linux中stat命令顯示文件的使用教程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI