除了在Linux上简单地创建一个空文件之外,Linux touch命令还有更多的用途。您也可以使用它来更改现有文件的时间戳,包括它们的访问和修改时间。本文介绍了8种通过Linux终端使用touch命令的方法。
我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。由于touch命令是一个命令行实用程序,因此本文将使用Ubuntu终端(Terminal)。您可以通过系统Dash或Ctrl + Alt + T快捷方式打开终端。
1.使用touch命令创建一个空文件
touch命令最简单,最基本的用法是通过命令行创建一个空文件。如果您是Terminal-savvy用户,则可以在命令行中通过以下命令快速创建一个新文件:
$ touch “filename”
例:
$ touch samplefile
在以下示例中,我通过touch命令创建了一个名称为“samplefile”的空文件。然后,我使用ls命令查看了系统上文件是否存在,因为touch命令不提示是否已创建文件。
2.使用touch命令一次创建多个文件
尽管cat命令和标准重定向符号也是通过命令行创建文件的方法,但是touch命令具有优势,因为您可以一次使用它创建多个文件。您可以使用以下语法来通过touch命令创建多个文件:
$ touch samplefile1 samplefile2 samplefile3 ….
在下面的示例中,我通过touch命令同时创建了三个文件,然后使用ls命令来查看这些文件是否存在:
3.强制避免使用touch命令创建新文件
有时需要避免创建新文件(如果文件不存在)。在这种情况下,您可以在touch命令中使用“ -c”选项,如下所示:
$ touch -c “filename”
在以下示例中,我使用了touch命令来强制避免创建新文件。
当我使用ls命令列出该文件时,以下输出验证该文件在系统中不存在。
4.更改文件的访问和修改时间
touch命令的另一个用途是更改文件的访问时间和修改时间。
让我们举一个例子来展示如何做到这一点。我通过touch命令创建了一个名为“testfile”的文件,并通过stat命令查看了其统计信息:
然后我输入了以下touch命令:
$ touch testfile
该触摸命令将访问和修改时间更改为我再次为“testfile”运行touch命令的时间。您可以在下图中看到更改的访问和修改时间:
5.更改访问时间或修改时间[只修改某一个]
无需同时更改访问和修改时间,我们可以选择通过touch命令仅更改其中之一。
在以下示例中,我创建了一个名为“samplefile”的文件,并通过stat命令查看了它的统计信息:
通过对该文件使用touch命令,使用“ -a”选项,仅更改该文件的访问时间:
$ touch -a samplefile
stat命令的输出现在显示访问时间已更改为我使用’-a’选项运行touch命令的时间:
通过在此文件上通过touch命令使用“ -m”选项,仅更改该文件的修改时间:
$ touch -m samplefile
stat命令的输出现在显示修改时间已更改为我使用’-m’选项运行touch命令的时间:
6.如何将一个文件的访问和修改时间复制到另一个文件
假设我们有一个名为samplefileA的文件:
另一个名为samplefileB的文件:
如果您想将文件samplefileA的访问和修改时间更改为samplefileB的,您可以按以下方式运行touch命令:
$ touch samplefileA -r sampleFileB
上图中stat命令的输出显示,samplefileA现在具有与samplefileB相同的访问和修改时间值。
7.创建一个带有指定时间戳的新文件
为了用指定的时间戳而不是创建的实际时间创建一个新的空文件,可以使用touch命令的以下语法:
$ touch -t YYMMDDHHMM.SS ”filename”
如下图所示,stat示例文件显示其访问和修改时间是通过touch命令创建它时提供的时间戳:
8.将文件的时间戳更改为其他时间
您可以使用以下touch命令语法将现有文件的时间戳更改为其他时间:
$ touch -c -t YYMMDDHHMM.SS “filename”
在以下示例中,通过touch命令更改了现有文件的时间戳,然后在示例文件上执行stat命令验证了更改:
通过在本文中介绍的基础但有用的方案,我们可以掌握touch命令从而能够通过Linux命令行快速执行一些看似复杂的任务。