为什么我们需要改变时间戳?

我们可能在 Linux 下运用 touch 命令创建一个空文件。当然我们也可以使用其他命令例如 vi, nano 或是任意一个编辑工具来实现。但是你可能需要更多的步骤来完成操作。其实你要知道 touch 命令的主要功能并不是为了创建一个空文件哦。

为什么我们需要改变时间戳?

什么是 touch 命令

众所周知,每个文件都被附有时间戳。这个时间戳记包括访问时间和修改时间。而 Touch 命令主要就是用来修改文件的访问时间和修改时间。

为什么我们需要使用 touch 命令

既然 touch 命令描述的是改变时间戳,那么我们可能会想为什么我们需要去改变时间戳呢?这个问题会引发我们的深思。然而,我想有个理由可以解释为什么我们需要使用它。如果你参加了一个全球范围的开源项目,那么时间戳可能变得很重要。编译源代码文件可能需要同一地区的时间戳。如果未统一,程序可能会编译失败。(译注:有强迫症的同学也很喜欢这个命令——就看不得乱七八糟的时间,;>)

不带任何选项下运行 touch

最简单的使用 touch 命令。只需键入:

$ touch file_name

请观察下面的一张截图。

Touch command

File_1.txt原来的时间戳是 12:42。在我们使用 touch 命令后,它改变为了 17:08。由此看出,默认情况下,touch 会将文件的时间戳改为当前时间。

只改变访问时间

正如我们之前提到的,每个文件都附有访问时间和修改时间。上面的时间戳是 17:08。我们可以看更多的细节。

Detail timestamp

我们发现访问时间和修改时间的值是相同的都是 17:08:35 ,还有它们属于同一时区 GMT +7。

如果现在我们要只改变访问时间,我们需要使用-a选项。

$ touch -a file_1.txt

Touch -a option

如你所见,访问时间变为了 17:51:37 ,但是修改时间仍为17:08:35。[译注:原文为 Change time(状态改变时间)应是作者笔误]

只改变修改时间

我们可以使用-m选项来实现。现在我们用file_2.txt作个示例。

File_2.txt detail timestamp

$ touch -m file_2.txt

Touch -m option

现在修改时间从 12:42:20 改为了 17:57:20。请注意,当文件被访问或修改时,状态改变时间域的值总会对其记录。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18362.html