CentOS中如何通过stat查看文件的元数据?

2020-01-30 16:31:46王振洲

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

两个文件的元数据一模一样。