中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么在Linux中使用stat命令

發布時間:2021-03-12 15:53:13 來源:億速云 閱讀:137 作者:Leah 欄目:系統運維

這篇文章給大家介紹怎么在Linux中使用stat命令,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

ls 命令可能是每一個 Unix 使用者第一個學習的命令之一, 但它僅僅顯示了 stat 命令能給出的信息的一小部分。

stat 命令從文件的索引節點獲取信息。 正如你可能已經了解的那樣, 每一個系統里的文件都存有三組日期和時間, 它們包括最近修改時間(即使用 ls -l 命令時顯示的日期和時間), 最近狀態改變時間(包括對文件重命名)和最近訪問時間。

使用長列表模式查看文件信息, 你會看到類似下面的內容:

  

代碼如下:

$ ls -l trythis
   -rwx------ 1 shs unixdweebs 109 Nov 11  2013 trythis

使用 stat 命令, 你會看到下面這些:

   

代碼如下:

$ stat trythis
     File: `trythis'
     Size: 109      Blocks: 8   IO Block: 262144 regular file
   Device: 18h/24d Inode: 12731691    Links: 1
   Access: (0700/-rwx------)  Uid: (  263/     shs)   Gid: (  100/ unixdweebs)
   Access: 2014-09-09 19:27:58.000000000 -0400
   Modify: 2013-11-11 08:40:10.000000000 -0500
   Change: 2013-11-11 08:40:10.000000000 -0500

在上面的情形中, 文件的狀態改變和文件修改的日期/時間是相同的, 而訪問時間則是相當近的時間。 我們還可以看到文件使用了 8 個塊, 以及兩種格式顯示的文件權限 -- 八進制(0700)格式和 rwx 格式。 在第三行顯示的索引節點是 12731681. 文件沒有其它的硬鏈接(Links: 1)。 而且, 這個文件是一個常規文件。

把文件重命名, 你會看到狀態改變時間發生變化。

這里的 ctime 信息, 最早設計用來存儲文件的創建(create)日期和時間, 但后來不知道什么時候變為用來存儲狀態修改(change)時間。

   

代碼如下:

$ mv trythis trythat
   $ stat trythat
     File: `trythat'
     Size: 109      Blocks: 8   IO Block: 262144 regular file
   Device: 18h/24d Inode: 12731691    Links: 1
   Access: (0700/-rwx------)  Uid: (  263/     shs)   Gid: (  100/ unixdweebs)
   Access: 2014-09-09 19:27:58.000000000 -0400
   Modify: 2013-11-11 08:40:10.000000000 -0500
   Change: 2014-09-21 12:46:22.000000000 -0400

改變文件的權限也會改變 ctime 域。

你也可以配合通配符來使用 stat 命令以列出一組文件的狀態:

   

代碼如下:

$ stat myfile*
     File: `myfile'
     Size: 20              Blocks: 8          IO Block: 262144 regular file
   Device: 18h/24d Inode: 12731803    Links: 1
   Access: (0640/-rw-r-----)  Uid: (  263/     shs)   Gid: (  100/ unixdweebs)
   Access: 2014-08-23 03:00:36.000000000 -0400
   Modify: 2014-08-22 12:02:12.000000000 -0400
   Change: 2014-08-22 12:02:12.000000000 -0400
     File: `myfile2'
     Size: 20              Blocks: 8          IO Block: 262144 regular file
   Device: 18h/24d Inode: 12731806    Links: 1
   Access: (0640/-rw-r-----)  Uid: (  263/     shs)   Gid: (  100/ unixdweebs)
   Access: 2014-08-23 03:00:36.000000000 -0400
   Modify: 2014-08-22 12:03:30.000000000 -0400
   Change: 2014-08-22 12:03:30.000000000 -0400
     File: `myfile3'
     Size: 40              Blocks: 8          IO Block: 262144 regular file
   Device: 18h/24d Inode: 12730533    Links: 1
   Access: (0640/-rw-r-----)  Uid: (  263/     shs)   Gid: (  100/ unixdweebs)
   Access: 2014-08-23 03:00:36.000000000 -0400
   Modify: 2014-08-22 12:03:59.000000000 -0400
   Change: 2014-08-22 12:03:59.000000000 -0400

如果我們喜歡的話, 我們也可以通過其他命令來獲取這些信息。

向 ls -l 命令添加 "u" 選項, 你會看到下面的結果。 注意這個選項會顯示最后訪問時間, 而添加 "c" 選項則會顯示狀態改變時間(在本例中, 是我們重命名文件的時間)。

   

代碼如下:

$ ls -lu trythat
   -rwx------ 1 shs unixdweebs 109 Sep  9 19:27 trythat
   $ ls -lc trythat
   -rwx------ 1 shs unixdweebs 109 Sep 21 12:46 trythat

stat 命令也可應用與文件夾。

在這個例子中, 我們可以看到有許多的鏈接。

   

代碼如下:

$ stat bin
     File: `bin'
     Size: 12288    Blocks: 24  IO Block: 262144 directory
   Device: 18h/24d Inode: 15089714    Links: 9
   Access: (0700/drwx------)  Uid: (  263/     shs)   Gid: (  100/ unixdweebs)
   Access: 2014-09-21 03:00:45.000000000 -0400
   Modify: 2014-09-15 17:54:41.000000000 -0400
   Change: 2014-09-15 17:54:41.000000000 -0400

在這里, 我們還可以查看一個文件系統。

   

代碼如下:

$ stat -f /dev/cciss/c0d0p2
     File: "/dev/cciss/c0d0p2"
       ID: 0 Namelen: 255     Type: tmpfs
   Block size: 4096Fundamental block size: 4096
   Blocks: Total: 259366     Free: 259337     Available: 259337
   Inodes: Total: 223834     Free: 223531

注意 Namelen (文件名長度)域, 如果文件名長于 255 個字符的話, 你會很幸運地在文件名處看到心形符號!

stat 命令還可以一次顯示所有我們想要的信息。 下面的例子中, 我們只想查看文件類型, 然后是硬連接數。

   

代碼如下:

$ stat --format=%F trythat
   regular file
   $ stat --format=%h trythat
   1

在下面的例子中, 我們查看了文件權限 -- 分別以兩種可用的格式 -- 然后是文件的 SELinux 安全環境。最后,我們我們可以以從 Epoch 開始的秒數格式來查看文件訪問時間。

   

代碼如下:

$ stat --format=%a trythat
   700
   $ stat --format=%A trythat
   -rwx------
   $ stat --format=%C trythat
   (null)
   $ stat --format=%X bin
   1411282845

下面全部是可用的選項:

    %a     八進制表示的訪問權限
    %A     可讀格式表示的訪問權限
    %b     分配的塊數(參見 %B)
    %B     %b 參數顯示的每個塊的字節數
    %d     十進制表示的設備號
    %D     十六進制表示的設備號
    %f     十六進制表示的 Raw 模式
    %F     文件類型
    %g     屬主的組 ID
    %G     屬主的組名
    %h     硬連接數
    %i     Inode 號
    %n     文件名
    %N     如果是符號鏈接,顯示器所鏈接的文件名
    %o     I/O 塊大小
    %s     全部占用的字節大小
    %t     十六進制的主設備號
    %T     十六進制的副設備號
    %u     屬主的用戶 ID
    %U     屬主的用戶名
    %x     最后訪問時間
    %X     最后訪問時間,自 Epoch 開始的秒數
    %y     最后修改時間
    %Y     最后修改時間,自 Epoch 開始的秒數
    %z     最后改變時間
    %Z     最后改變時間,自 Epoch 開始的秒數

針對文件系統還有如下格式選項:

    %a     普通用戶可用的塊數
    %b     文件系統的全部數據塊數
    %c     文件系統的全部文件節點數
    %d     文件系統的可用文件節點數
    %f     文件系統的可用節點數
    %C     SELinux 的安全上下文
    %i     十六進制表示的文件系統 ID
    %l     文件名的最大長度
    %n     文件系統的文件名
    %s     塊大小(用于更快的傳輸)
    %S     基本塊大小(用于塊計數)
    %t     十六進制表示的文件系統類型
    %T     可讀格式表示的文件系統類型

關于怎么在Linux中使用stat命令就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

昂仁县| 白银市| 三江| 灌云县| 云安县| 昌平区| 图们市| 永善县| 潼南县| 同江市| 军事| 蓝山县| 永春县| 治多县| 乐陵市| 阿克陶县| 周口市| 沙河市| 枣庄市| 印江| 乐清市| 丰顺县| 定边县| 宣城市| 正阳县| 孟州市| 上蔡县| 襄城县| 盐亭县| 剑河县| 丽江市| 丁青县| 翁源县| 铜鼓县| 四平市| 连南| 靖边县| 台山市| 海伦市| 盐山县| 景泰县|