为什么有人想要更改文件的上次访问日期而不在文件本身中进行实际更改?

为什么有人想要更改文件的上次访问日期而不在文件本身中进行实际更改?

操作系统6

我正在学习 RHEL / Centos,最近了解到该touch命令可用于更改文件的上次访问日期。我正在努力理解为什么有人想要这样做(而不实际对文件进行任何更改)的实际原因。有人可以详细说明一下吗?

答案1

touch命令在开发使用以下命令构建的软件时非常有用GNU 使或类似的程序。make通过比较文件上的时间戳来确定需要编译的内容;通过使用touch,您可以强制make重建未更改的文件。

答案2

使用触摸命令的原因有很多。

这里是一些简单的例子,包括“如何给你的老板留下深刻的印象!!”

开发环境中常见的时间戳问题,例如

触摸如此受欢迎和有用的原因可能还有更多。

答案3

在已安装文件系统以允许元数据更新(即未使用安装选项)的情况下,询问上次访问时间戳 ( atime) 在调试和安全审核中非常有用。noatime

为此,某些备份软件将(或可以配置)将其重置atime为文件备份之前的状态,从而保留元数据的固有有用性。在这种情况下,utime将使用 shell 实用程序所基于的底层操作系统调用touch

发出问题的用户touch myfile将更新“mtime”、“atime”和“ctime”。后者代表该 inode 的最后一次更改时间。通过将相应的-m-a开关添加到 ,可以限制仅对“mtime”或“atime”进行更改touch。在后面的情况下,它ctime会被无条件地改变——这是潜在有用信息的另一个痕迹。

答案4

您可以出于多种原因使用“触摸”:

您可以编写一个脚本,在文件存在或不存在时“编码”某种程序状态,而 touch 命令是创建零长度文件的一种非常容易访问的方法。

此外,程序可以使用这些时间戳来记录上次发生事件的时间,因此如果您想跟踪上次发生事件的时间,但不需要更改文件的内容,那么这touch是一种简单的方法做吧。

相关内容