好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关于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信息.
 

查看更多关于关于Linux系统中的Access time,Modify time和Change time的详细内容...

  阅读:51次