初学者 Linux touch 命令教程(6 个示例)
在此页
- Linux Touch 命令
- 1。如何使用 touch 命令更改访问/修改时间
- 2。如何仅更改访问或修改时间
- 3。如何使触摸使用现有文件的访问/修改时间
- 4。如何使用触摸创建新文件
- 5。如何强制触摸不创建任何新文件
- 6。在符号链接的情况下触摸如何工作
- 结论
有时,在 Linux 中使用命令行时,您可能想要创建一个新文件。或者,有时可能需要更改文件的时间戳。好吧,有一个实用程序可以在这两种情况下使用。有问题的工具是触摸,在本教程中,我们将通过易于理解的示例来了解其基本功能。
请注意,此处使用的所有示例都已在 Ubuntu 22.04 计算机上进行了测试。
Linux 触摸命令
touch 命令主要用于更改文件时间戳,但如果文件(其名称作为参数传递)不存在,则该工具会创建它。
以下是命令的通用语法:
touch [OPTION]... FILE...
手册页是如何解释这个命令的:
DESCRIPTION
Update the access and modification times of each FILE to the current
time. A FILE argument that does not exist is created empty, unless -c or -h
is supplied. A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
以下问答式示例将使您更好地了解该工具的工作原理。
1. 如何使用 touch 命令更改访问/修改时间
这很简单也很直接。让我们以现有文件为例。以下屏幕截图显示了名为 apl.c 的文件的访问和修改时间。

以下是如何使用 touch 命令更改文件访问和修改时间:
touch apl.c
以下屏幕截图确认了这些时间戳的更改。

2.如何更改仅访问或修改时间
默认情况下,touch 命令更改输入文件的访问时间和修改时间。但是,如果需要,您可以将此行为限制为这些时间戳中的任何一个。这意味着您可以更改访问时间或修改时间戳。
如果您只想更改访问时间,请使用 -a 命令行选项。
touch -a [filename]
同样,如果要求只更改修改时间,请使用 -m 命令行选项。
touch -m [filename]
3.如何让触摸使用现有文件的访问/修改时间
如果需要,您还可以强制 touch 命令从参考文件复制访问和修改时间戳。例如,假设我们要更改文件 apl.c 的时间戳。以下是该文件的当前时间戳:

这是您希望 touch 用作其参考的文件:

现在,要让 touch 为 apl.c 使用 apl 的时间戳,您需要按以下方式使用 -r 命令行选项:
touch apl.c -r apl

上面的屏幕截图显示 apl.c 的修改和访问时间戳现在与 apl 的相同。
4.如何使用touch创建新文件
创建一个新文件也很容易。事实上,如果您作为参数传递给 touch 命令的文件名不存在,它会自动发生。例如,要创建一个名为 newfile 的文件,您所要做的就是运行以下 touch 命令:
touch newfile
5.如何强制触摸不创建任何新文件
以防万一 touch 命令不应该创建任何新文件的严格要求,那么您可以使用 -c 选项。
touch -c [filename]
以下屏幕截图显示,由于 newfile12 不存在,并且我们使用了 -c 命令行选项,因此 touch 命令没有创建该文件。

6. 触摸在符号链接的情况下如何工作
默认情况下,如果将符号链接文件名传递给 touch 命令,则访问和修改时间戳的更改将针对原始文件(符号链接所引用的文件)。但是,该工具还提供了一个选项 (-h),可让您覆盖此行为。
以下是手册页对 -h 选项的解释:
-h, --no-dereference
affect each symbolic link instead of any referenced file (useful
only on systems that can change the timestamps of a symlink)
因此,当您想要更改符号链接(而不是原始文件)的修改和访问时间戳时,请按以下方式使用 touch 命令:
touch -h [sym link file name]
结论
正如您所同意的那样,touch 并不是一个难以理解和使用的命令。我们在本教程中讨论的示例/选项应该足以让您开始使用该工具。虽然新手大多会发现自己使用该实用程序来创建新文件,但更有经验的用户也会将其用于多种其他目的。有关 touch 命令的更多信息,请访问 tee 命令。