CentOS中通過stat檢視檔案的元資料

2022-07-13 03:27:11 字數 4257 閱讀 3807

centos中可以通過stat檢視檔案的元資料

[baby@xiaoxiao abc]$ stat honey

file: `honey'

size: 25         blocks: 8          io block: 4096   regular file

device: 806h/2054d inode: 131076      links: 1

access: (0664/-rw-rw-r--)  uid: (  500/    baby)   gid: (  500/    baby)

access: 2015-03-30 10:27:51.851234105 +0800

modify: 2015-03-30 10:44:58.144226717 +0800

change: 2015-03-30 10:44:58.146226803 +0800

access:最後訪問時間

modify:最後修改時間

change:狀態更改時間(由系統維護,無法隨意修改)

touch -a :僅更新access time(同時更新change為current time)

touch -m:僅更新modify time(同時更新change為current time)

touch -c:不建立新檔案

touch -t:使用指定的時間更新時間戳(僅更改access time與modify time,change time更新為current time)

例:touch -t  [[cc]yy]mmddhhmm[.ss] filename

[root@xiaoxiao cde]# touch -t 199906121808 honey

[root@xiaoxiao cde]# stat honey

file: `honey'

size: 25         blocks: 8          io block: 4096   regular file

device: 806h/2054d inode: 131076      links: 1

access: (0664/-rw-rw-r--)  uid: (  500/    baby)   gid: (  500/    baby)

access: 1999-06-12 18:08:00.000000000 +0800

modify: 1999-06-12 18:08:00.000000000 +0800

change: 2015-03-30 13:31:40.064221158 +0800

當檔案的任何資料改變時(包括檔案的資料和元資料),change會更新,對檔案重新命名(mv),移動(mv)或者複製時(cp -a),系統都會更新檔案的change time。當檔案的內容被修改時modify和change會同時更新。當change time更新後,第一次訪問該檔案,系統會更新access time(僅更新access time),之後對該檔案的訪問,將不會更新access time。

[baby@xiaoxiao cde]$ touch honey

[baby@xiaoxiao cde]$ stat honey

file: `honey'

size: 25         blocks: 8          io block: 4096   regular file

device: 806h/2054d inode: 131076      links: 1

access: (0664/-rw-rw-r--)  uid: (  500/    baby)   gid: (  500/    baby)

access: 2015-03-30 11:24:47.041225726 +0800

modify: 2015-03-30 11:24:47.041225726 +0800

change: 2015-03-30 11:24:47.041225726 +0800

[baby@xiaoxiao cde]$ cat honey &> /dev/null

[baby@xiaoxiao cde]$ stat honey

file: `honey'

size: 25         blocks: 8          io block: 4096   regular file

device: 806h/2054d inode: 131076      links: 1

access: (0664/-rw-rw-r--)  uid: (  500/    baby)   gid: (  500/    baby)

access: 2015-03-30 11:25:16.401228081 +0800

modify: 2015-03-30 11:24:47.041225726 +0800

change: 2015-03-30 11:24:47.041225726 +0800

用touch更新時間戳後的第一次訪問,access time更新了,下面是第二次訪問之後的元資料,access time並沒有更新。

[baby@xiaoxiao cde]$ cat honey &> /dev/null

[baby@xiaoxiao cde]$ stat honey

file: `honey'

size: 25         blocks: 8          io block: 4096   regular file

device: 806h/2054d inode: 131076      links: 1

access: (0664/-rw-rw-r--)  uid: (  500/    baby)   gid: (  500/    baby)

access: 2015-03-30 11:25:16.401228081 +0800

modify: 2015-03-30 11:24:47.041225726 +0800

change: 2015-03-30 11:24:47.041225726 +0800

tar或者各種壓縮命令在解壓出來時都會更新檔案的change time,若想要不更改change time備份檔案可以使用dd命令(dd命令在複製單個檔案時,會更新時間戳,在備份整個分割槽時,會保留檔案的所有屬性),過程如下:

新建乙個分割槽sda10,不用格式化,掛載到/media/sda10。

[root@xiaoxiao cde]# ll /dev/sda10

brw-rw---- 1 root disk 8, 10 mar 30 12:58 /dev/sda10

[root@xiaoxiao abc]# dd if=/dev/sda6 of=/dev/sda10 &  (/dev/sda6掛載在/tmp下)

[1] 5917

[root@xiaoxiao abc]# mount /dev/sda10 /media/sda10/

[root@xiaoxiao cde]# stat /media/sda10/cde/honey /tmp/cde/honey

file: `/media/sda10/cde/honey'

size: 25         blocks: 8          io block: 4096   regular file

device: 80ah/2058d inode: 131076      links: 1

access: (0664/-rw-rw-r--)  uid: (  500/    baby)   gid: (  500/    baby)

access: 2015-03-30 11:25:16.401228081 +0800

modify: 2015-03-30 11:24:47.041225726 +0800

change: 2015-03-30 11:24:47.041225726 +0800

file: `/tmp/cde/honey'

size: 25         blocks: 8          io block: 4096   regular file

device: 806h/2054d inode: 131076      links: 1

access: (0664/-rw-rw-r--)  uid: (  500/    baby)   gid: (  500/    baby)

access: 2015-03-30 11:25:16.401228081 +0800

modify: 2015-03-30 11:24:47.041225726 +0800

change: 2015-03-30 11:24:47.041225726 +0800

兩個檔案的元資料一模一樣。

stat在python中 stat模組介面

python的stat模組定義了一組解釋函式,這些函式專門用來解釋 os.stat os.lstat os.fstat 這三個函式返回的模式資訊 st mode 這三個stat函式的具體資訊,請參考 os.stat 函式的用法 引用stat模組 由於stat模組中的函式都是大寫字母,比較特別,引用s...

CentOS檢視系統資訊 CentOS檢視命令

一 檢視cpu more proc cpuinfo grep model name grep model name proc cpuinfo 如果覺得需要看的更加舒服 grep model name proc cpuinfo cut f2 d 怎麼樣,linux的命令就要這樣熟悉。二 檢視內 roo...

CentOS檢視系統資訊 CentOS檢視命令

centos檢視系統資訊 centos檢視命令 一 檢視cpu more proc cpuinfo grep model name grep model name proc cpuinfo 如果覺得需要看的更加舒服 grep model name proc cpuinfo cut f2 d 怎麼樣,...