標籤:centos access modify change touch
CentOS中可以通過stat查看檔案的中繼資料
[[email protected] abc]$ stat honey
File: `honey‘
Size: 25 Blocks: 8 IO Block: 4096 regular file
Device: 806h/2054dInode: 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
[[email protected] cde]# touch -t 199906121808 honey
[[email protected] cde]# stat honey
File: `honey‘
Size: 25 Blocks: 8 IO Block: 4096 regular file
Device: 806h/2054dInode: 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。
[[email protected] cde]$ touch honey
[[email protected] cde]$ stat honey
File: `honey‘
Size: 25 Blocks: 8 IO Block: 4096 regular file
Device: 806h/2054dInode: 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
[[email protected] cde]$ cat honey &> /dev/null
[[email protected] cde]$ stat honey
File: `honey‘
Size: 25 Blocks: 8 IO Block: 4096 regular file
Device: 806h/2054dInode: 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並沒有更新。
[[email protected] cde]$ cat honey &> /dev/null
[[email protected] cde]$ stat honey
File: `honey‘
Size: 25 Blocks: 8 IO Block: 4096 regular file
Device: 806h/2054dInode: 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。
[[email protected] cde]# ll /dev/sda10
brw-rw---- 1 root disk 8, 10 Mar 30 12:58 /dev/sda10
[[email protected] abc]# dd if=/dev/sda6 of=/dev/sda10 & (/dev/sda6掛載在/tmp下)
[1] 5917
[[email protected] abc]# mount /dev/sda10 /media/sda10/
[[email protected] 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/2058dInode: 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/2054dInode: 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
兩個檔案的中繼資料一模一樣。
關於CentOS檔案的Access time,Modify time,Change time