Linux 中的 touch 命令及示例 - Linux 命令行教程
Linux 中的 touch 命令用于更改给定文件或文件集的访问和修改时间。如果您运行 touch 命令并指定一个尚不存在的文件,这也是一种非常方便地快速创建空文件的方法。
许多用户会发现自己偶尔甚至经常使用touch命令。使用 Linux 操作系统时,有时需要创建空文件。管理员正在配置的某些服务需要在服务启动之前创建特定文件,有时,该文件可能需要具有特定的访问时间戳。
touch 被证明有用的其他场景是根据修改时间对文件进行排序的应用程序。如果您想在不实际编辑任何文件的情况下操作此排序,可以使用 touch 将修改时间更新为您提供的任何日期和时间。在本指南中,您将通过示例了解如何在 Linux 中使用 touch 命令。请按照下面的说明了解可与此命令一起使用的各种选项。
在本教程中您将学习:
如何在 Linux 上使用 touch 命令
常用选项
touch命令的语法很简单,用途也很简单,所以不需要花很长时间就能学会。以下示例将教您有关 touch 命令所需了解的所有信息,高级部分将向您展示一些不太常用的选项,这些选项可能偶尔会派上用场。
Linux 中的 touch 命令基本示例
如前所述,touch 的主要用途之一是创建新的空文件。这可能是在 Linux 上生成新文件的最快、最简单的方法,也是系统管理员经常使用的方法。语法非常简单 - 只需指定您要创建的文件名即可。
$ touch document.txt
只需在命令中指定更多文件名即可创建任意数量的文件。
$ touch file1 file2 file3
如果您用touch指定的文件已经存在,该命令将更新其修改时间。让我们看一个示例,使用 stat 命令检查文件的修改时间,然后对该文件运行 touch 命令并再次检查其修改时间。您将看到修改时间已更新为系统当前的日期和时间。
$ stat example.txt Access: 2021-08-10 00:08:47.660120649 -0400 Modify: 2021-08-10 00:08:43.936129005 -0400 Change: 2021-08-10 00:08:43.936129005 -0400
我们已经削减了一些过剩的产量。但可以看到,文件当前访问时间为2021-08-10 00:08:47,修改时间为2021-08-10 00:08:43.现在让我们运行 touch 命令,然后再次检查。
$ touch example.txt $ stat example.txt Access: 2021-08-16 22:59:27.315203013 -0400 Modify: 2021-08-16 22:59:27.315203013 -0400 Change: 2021-08-16 22:59:27.315203013 -0400
touch 命令的默认行为是将文件的时间更改为当前日期和时间。但是可以使用
-t
选项指定我们想要的任何日期和时间。例如,让我们将example.txt
文件更改为某个随机日期的修改时间,例如 2019 年 1 月 15 日凌晨 03:25。请随意调整这个日期并添加一些更有创意的内容。日期的语法为YYYYMMDDhhmm[.ss]
。$ touch -t 201901150325 example.txt
使用stat验证更改。
$ stat example.txt Access: 2019-01-15 03:25:00.000000000 -0500 Modify: 2019-01-15 03:25:00.000000000 -0500
如果您只想更改文件的访问时间,而不是修改时间,请在 touch 命令中使用
-a
选项。$ touch -a example.txt
相反,
-m
选项可以与 touch 命令一起使用,以仅更新文件的修改时间。$ touch -m example.txt
注意
您始终可以使用 man 命令来阅读有关 touch 命令及其官方文档的更多信息。单击上一个链接可查看如何打开 Linux 系统上任何命令的手册页。
高级用法
touch 命令非常简单,但它包含很多选项。其中许多选项都不太引人注目,甚至一些经验丰富的系统管理员也可能不知道它们。然而,它们绝对可以在各种情况下派上用场。在本指南的这一部分中,我们将向您展示一些我们认为有用的 touch 命令鲜为人知的选项。
Linux 中的 touch 命令高级示例
将
-r
选项与 touch 命令一起使用来指定参考文件。其作用是更改文件的修改时间以匹配您指定的不同文件的修改时间。执行该命令后,两个文件将具有相同的修改时间。$ touch -r file example.txt
如果您希望 touch 命令更新修改时间,但避免创建尚不存在的新文件,请添加
-c
或--no-create
您的命令选项。$ touch -c file1 file2 file3
使用
-h
或--no-dereference
选项指示 touch 更新符号链接而不是其引用的文件的修改时间。$ touch -h example.txt
--date
选项可用于指定文件修改时间的自定义日期,就像我们之前介绍的-d
选项一样。但是,--date
选项允许我们指定人类可读的字符串,而不是YYYYMMDDhhmm[.ss]
格式。它看起来是这样的。$ touch --date="Sun, 29 Feb 2004 16:21:42 -0800" example.txt OR $ touch --date="2019-01-15 03:25:00" example.txt OR $ touch --date="next Friday" example.txt
结束语
在本指南中,我们了解了有关 Linux 上的 touch 命令的所有信息。当您需要创建新的空文件或设置文件时,touch命令被证明非常有用,并且它是修改任何文件的修改时间或访问时间的最简单方法。该命令可能不会出现在您的日常命令中,但您会发现它比您想象的更有用。