关于Linux系统中的Access time,Modify time和Change time



关于Linux系统中的Access time,Modify time和Change time
 
 在linux系统中,文件和目录的inode信息中,包含三项和时间有关的内容,分别是:
      Access time, Modify  time,和Change time.   www.2cto.com  
 
      用文件来做个例子.比如,创建测试文件'1',使用命令stat查看其inode内容,显示类似下面:
Shell代码  
$ stat 1  
  File: `1'  
  Size: 6               Blocks: 8          IO Block: 4096   regular file  
Device: fd00h/64768d    Inode: 117604369   Links: 1  
Access: (0644/-rw-r--r--)  Uid: (  503/ ***)   Gid: (  100/   users)  
Access: 2012-11-19 11:56:06.000000000 +0800  
Modify: 2012-11-19 11:56:20.000000000 +0800  
Change: 2012-11-19 11:56:20.000000000 +0800  
 
      Access time,指最近一次的程序对文件(目录)的直接存取时间.比如下面的例子:
Shell代码  
$cat 1  
1  
2  
3  
  
$ stat 1  
  File: `1'  
  Size: 6               Blocks: 8          IO Block: 4096   regular file  
Device: fd00h/64768d    Inode: 117604369   Links: 1  
Access: (0644/-rw-r--r--)  Uid: (  503/ ***)   Gid: (  100/   users)  
Access: 2012-11-19 14:14:33.000000000 +0800  
Modify: 2012-11-19 11:56:20.000000000 +0800  
Change: 2012-11-19 11:56:20.000000000 +0800  
      这里Access time发生了变化,而其它两项未变动.
 
      Modify time,指最近一次的文件(目录)的内容被改动的时间.比如下面的例子:
Shell代码  
$echo '4' >> 1  
$ stat 1  
  File: `1'  
  Size: 8               Blocks: 8          IO Block: 4096   regular file  
Device: fd00h/64768d    Inode: 117604369   Links: 1  
Access: (0644/-rw-r--r--)  Uid: (  503/ ***)   Gid: (  100/   users)  
Access: 2012-11-19 14:14:33.000000000 +0800  
Modify: 2012-11-19 14:17:51.000000000 +0800  
Change: 2012-11-19 14:17:51.000000000 +0800  
       这里,Modify time已经发生了变化.
 
      Change time,指最近一次的文件(目录)的inode信息被改变的时间.在上面的'Modify time'的例子中可以看到,Change time同时也发生了变化.这是因为文件的内容被修改后,相应的信息也会发生变化,比如文件大小'Size'.
 
      如果是一些单独改变文件(目录)的inode信息的操作,则只会对Change time产生影响.比如下面的例子:
Shell代码  
$mv 1 2  
$stat 2  
  File: `2'  
  Size: 8               Blocks: 8          IO Block: 4096   regular file  
Device: fd00h/64768d    Inode: 117604369   Links: 1  
Access: (0644/-rw-r--r--)  Uid: (  503/ ***)   Gid: (  100/   users)  
Access: 2012-11-19 14:14:33.000000000 +0800  
Modify: 2012-11-19 14:17:51.000000000 +0800  
Change: 2012-11-19 14:23:38.000000000 +0800  
       上面的操作对文件'1'进行了改名,所以只是影响了Change time.
 
      如果使用命令'ls',其有三个选项: '-u', '-t', 和'-c',分别对应的就是Access time, Modify time和Change time.使用这些选项,命令'ls'的输出会根据相应的time来进行排序.默认的,'ls'采用的是Modify time,即选项'-t'.
      另外,如果在上面使用'ls'时,配合选项'--full-time',则在输出中可以显示详细的time信息.
 

相关内容

    暂无相关文章