主頁 > 知識(shí)庫 > Linux中的stat命令使用簡介

Linux中的stat命令使用簡介

熱門標(biāo)簽:百度地圖標(biāo)注陰影動(dòng)態(tài) 淘寶系統(tǒng)退貨外呼項(xiàng)目考試答案 焦作人工智能電話機(jī)器人軟件 廳外呼梯系統(tǒng)布線 貴陽語音電銷機(jī)器人招商 鄭州營銷外呼系統(tǒng)運(yùn)營商 2020電銷機(jī)器人排行 鹽城客服外呼系統(tǒng)軟件 北京市地圖標(biāo)注

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

stat 命令從文件的索引節(jié)點(diǎn)獲取信息。 正如你可能已經(jīng)了解的那樣, 每一個(gè)系統(tǒng)里的文件都存有三組日期和時(shí)間, 它們包括最近修改時(shí)間(即使用 ls -l 命令時(shí)顯示的日期和時(shí)間), 最近狀態(tài)改變時(shí)間(包括對(duì)文件重命名)和最近訪問時(shí)間。

使用長列表模式查看文件信息, 你會(huì)看到類似下面的內(nèi)容:

   

復(fù)制代碼
代碼如下:
$ ls -l trythis
-rwx------ 1 shs unixdweebs 109 Nov 11 2013 trythis

使用 stat 命令, 你會(huì)看到下面這些:

   

復(fù)制代碼
代碼如下:
$ 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

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

把文件重命名, 你會(huì)看到狀態(tài)改變時(shí)間發(fā)生變化。

這里的 ctime 信息, 最早設(shè)計(jì)用來存儲(chǔ)文件的創(chuàng)建(create)日期和時(shí)間, 但后來不知道什么時(shí)候變?yōu)橛脕泶鎯?chǔ)狀態(tài)修改(change)時(shí)間。

   

復(fù)制代碼
代碼如下:
$ 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

改變文件的權(quán)限也會(huì)改變 ctime 域。

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

   

復(fù)制代碼
代碼如下:
$ 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" 選項(xiàng), 你會(huì)看到下面的結(jié)果。 注意這個(gè)選項(xiàng)會(huì)顯示最后訪問時(shí)間, 而添加 "c" 選項(xiàng)則會(huì)顯示狀態(tài)改變時(shí)間(在本例中, 是我們重命名文件的時(shí)間)。

   

復(fù)制代碼
代碼如下:
$ 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 命令也可應(yīng)用與文件夾。

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

   

復(fù)制代碼
代碼如下:
$ 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

在這里, 我們還可以查看一個(gè)文件系統(tǒng)。

   

復(fù)制代碼
代碼如下:
$ 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 個(gè)字符的話, 你會(huì)很幸運(yùn)地在文件名處看到心形符號(hào)!

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

   

復(fù)制代碼
代碼如下:
$ stat --format=%F trythat
regular file
$ stat --format=%h trythat
1

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

   

復(fù)制代碼
代碼如下:
$ stat --format=%a trythat
700
$ stat --format=%A trythat
-rwx------
$ stat --format=%C trythat
(null)
$ stat --format=%X bin
1411282845

下面全部是可用的選項(xiàng):

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

針對(duì)文件系統(tǒng)還有如下格式選項(xiàng):

    %a     普通用戶可用的塊數(shù)
    %b     文件系統(tǒng)的全部數(shù)據(jù)塊數(shù)
    %c     文件系統(tǒng)的全部文件節(jié)點(diǎn)數(shù)
    %d     文件系統(tǒng)的可用文件節(jié)點(diǎn)數(shù)
    %f     文件系統(tǒng)的可用節(jié)點(diǎn)數(shù)
    %C     SELinux 的安全上下文
    %i     十六進(jìn)制表示的文件系統(tǒng) ID
    %l     文件名的最大長度
    %n     文件系統(tǒng)的文件名
    %s     塊大小(用于更快的傳輸)
    %S     基本塊大?。ㄓ糜趬K計(jì)數(shù))
    %t     十六進(jìn)制表示的文件系統(tǒng)類型
    %T     可讀格式表示的文件系統(tǒng)類型

這些信息都可以得到,stat 命令也許可以幫你以稍微不同的角度來了解你的文件。

標(biāo)簽:大慶 青島 樂山 六安 遼寧 周口 大理 大興安嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux中的stat命令使用簡介》,本文關(guān)鍵詞  Linux,中的,stat,命令,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux中的stat命令使用簡介》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux中的stat命令使用簡介的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章