操作系统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
是一种简单的方法做吧。