Linux初学者Touch命令教程(6个例子)
有时候,在Linux中的命令行上工作时,可能需要创建一个新文件。 或者,有时可能需要更改文件的时间戳。 那么,这两种情况下都可以使用这个工具。 有问题的工具是Touch ,在本教程中,我们将通过易于理解的示例来了解其基本功能。
请注意,我们将在这里使用的所有示例都已在Ubuntu 16.04机器上进行了测试。
Linux Touch命令
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.
以下Q&A类型示例将使您更好地了解该工具的工作原理。
1.如何使用Touch命令更改访问/修改时间
这很简单,而且很简单。 以现有文件为例。 以下屏幕截图显示了一个名为“apl.c”的文件的访问和修改时间。
以下是如何使用touch命令更改文件的访问和修改时间:
touch apl.c
以下截图确认了这些时间戳的变化。
2.如何更改访问或修改时间
默认情况下,Touch命令改变输入文件的访问和修改时间。 但是,如果需要,可以将这种行为限制为这些时间戳中的任何一个。 这意味着您可以更改访问时间或修改时间戳。
如果您只想更改访问时间,请使用-a命令行选项。
touch -a [filename]
同样,如果要求仅更改修改时间,请使用-m命令行选项。
touch -m [filename]
3.如何Touch使用现有文件的访问/修改时间
如果需要,还可以强制Touch命令从参考文件复制访问和修改时间戳。 例如,假设我们想要改变文件“apl.c”的时间戳。 这里是这个文件的当前时间戳:
这是你想要用作参考的文件:
现在,为了使用'apl'的时间戳作为'apl.c',你需要用下面的方法使用-r命令行选项:
touch apl.c -r apl
上面的截图显示了'apl.c'的修改和访问时间戳现在与'apl'的修改和访问时间戳相同。
4.如何使用Touch创建一个新文件
创建一个新文件也很容易。 实际上,如果您作为参数传递给touch命令的文件名不存在,它会自动发生。 例如,要创建一个名为'newfile'的文件,您只需要运行以下Touch命令:
touch newfile
5.如何强制Touch不创建任何新文件
以防万一有一个严格的要求,Touch命令不应该创建任何新的文件,那么你可以使用-c选项。
touch -c [filename]
以下屏幕截图显示由于'newfile12'不存在,并且我们使用了-c命令行选项,所以touch命令没有创建该文件。
6.在符号链接的情况下,Touch是如何工作的
默认情况下,如果您将符号链接文件名传递给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命令的更多信息,请转到其手册页 。