Unix 停止更改文件的修改时间
文件有三个时间值:Unix 停止更改文件的修改时间,unix,stat,Unix,Stat,文件有三个时间值: 访问-读取文件时 修改-修改文件内容时 更改-文件元数据更改时 在Unix中使用stat命令可以看到这些时间值。 是否有任何方法可以使修改时间保持不变,并且即使文件内容发生更改也不允许其更改 我使用的是Ubuntu 14.04操作系统  @Abhash Upadhyaya 我试过这个。但是每次我访问文件时,修改时间都在更改。我希望时间是相同的,即使在它被访问或其内容被更改 ridhima@ridhima:~$ touch -d 20120101 goldenfile rid
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: -
您可以使用触摸命令 例如,这里有一个使用任意时间戳创建的goldenfile
$ touch -d 20120101 goldenfile
$ ls -l goldenfile
-rw-rw-r--. 1 user user 0 Jan 1 2012 goldenfile
您可以根据自己的需要使用各种开关,如
有关触摸命令的更多信息,请在终端上执行
$man touch
。您有时可以通过使用适当的标志安装文件系统来执行此操作。例如,如果文件系统以只读方式装入,则不会更改时间。也可能有更专门的选择。是否可以为单个文件执行此操作取决于文件系统。可能存在“不可变”标志-这会阻止文件更改,从而防止修改时间更改。我不确定是否有办法允许修改文件,但防止修改时间被更新。其他人将不得不告诉你是否有-我将做一个有根据的猜测,没有。@Ridhima,Ubuntu,取决于何时/如何安装它,默认使用relatime
或noatime
装载选项-这意味着访问时间跟踪基本上被禁用。您可以通过从/etc/fstab
中删除该选项并重新启动来更改它。或者,例如sudo mount-o remount,atime/home
在相关文件系统上。这设置了文件的修改时间(因此通常会更改它),而问题是如何防止修改时间被更改。