停止更改文件的修改时间

时间:2015-11-24 06:15:02

标签: unix stat

文件有三个时间值:

  1. 访问 - 读取文件时。
  2. 修改 - 修改文件内容时。
  3. 更改 - 更改文件的元数据时。
  4. 我们可以在Unix中使用stat命令查看这些时间值。 是否有任何方法可以使修改时间保持不变,即使文件内容发生了变化也不会改变它?

    我使用的是Ubuntu 14.04操作系统。

     @Abhash Upadhyaya
    我试过这个。但每次访问文件时修改时间都在变化。我希望即使在访问它或其内容被更改之后,时间也是相同的。

    ridhima@ridhima:~$ touch -d 20120101 goldenfile
    ridhima@ridhima:~$ stat goldenfile 
      File: ‘goldenfile’
      Size: 0           Blocks: 0          IO Block: 4096   regular empty file
    Device: 805h/2053d  Inode: 5259884     Links: 1
    Access: (0644/-rw-r--r--)  Uid: (618146911/ridhima)   Gid: (618136065/domain^users)
    Access: 2012-01-01 00:00:00.000000000 +0530
    Modify: 2012-01-01 00:00:00.000000000 +0530
    Change: 2015-11-24 12:01:34.838442527 +0530
     Birth: -
    ridhima@ridhima:~$ 
    ridhima@ridhima:~$ 
    ridhima@ridhima:~$ 
    ridhima@ridhima:~$ touch goldenfile 
    ridhima@ridhima:~$ stat goldenfile 
      File: ‘goldenfile’
      Size: 0           Blocks: 0          IO Block: 4096   regular empty file
    Device: 805h/2053d  Inode: 5259884     Links: 1
    Access: (0644/-rw-r--r--)  Uid: (618146911/ridhima)   Gid: (618136065/domain^users)
    Access: 2015-11-24 12:01:44.378442982 +0530
    Modify: 2015-11-24 12:01:44.378442982 +0530
    Change: 2015-11-24 12:01:44.378442982 +0530
     Birth: -
    ridhima@ridhima:~$ vi goldenfile 
    ridhima@ridhima:~$ stat goldenfile 
      File: ‘goldenfile’
      Size: 5           Blocks: 8          IO Block: 4096   regular file
    Device: 805h/2053d  Inode: 5259943     Links: 1
    Access: (0644/-rw-r--r--)  Uid: (618146911/ridhima)   Gid: (618136065/domain^users)
    Access: 2015-11-24 12:02:09.662444188 +0530
    Modify: 2015-11-24 12:02:09.662444188 +0530
    Change: 2015-11-24 12:02:09.666444188 +0530
     Birth: -
    

1 个答案:

答案 0 :(得分:-1)

您可以使用touch命令。

这里的示例目的是使用一些任意时间戳创建的黄金文件。

$ touch -d 20120101 goldenfile
$ ls -l goldenfile 
-rw-rw-r--. 1 user user 0 Jan  1  2012 goldenfile

您可以使用各种开关,例如

  1. -a仅更改访问时间
  2. -m仅更改修改时间
  3. 有关touch命令的更多信息,请在终端上执行$ man touch