Linux/Unix下的touch命令及示例17 Mar 2025 | 5 分钟阅读 touch命令是一种创建空文件的方式(还有其他方法)。您可以使用touch命令更新每个文件的修改和访问时间。 它可在ReactOS、Unix、TSC的FLEX、类Unix操作系统、Microware OS-9 shell、AROS shell以及Digital Research/Novell DR DOS中使用。此外,该命令还可用于Microsoft Windows和FreeDOS。
SUS(Single Unix Specification)定义touch命令应修改文件的修改时间、访问时间或两者。文件通过作为参数导入的路径名进行识别。此外,它表示如果识别出的文件不存在,则会创建该文件,并按指定设置修改和访问时间。如果未指定新的时间戳,touch命令将应用当前时间。 touch的简史首先,touch实用程序出现在Version 7 AT&T UNIX中。如今,该命令可在包括各种Unix、DOS、类Unix系统、经典Mac OS和Microsoft Windows在内的多种不同操作系统上使用。由Paul Rubin、Randy Smith、David MacKenzie、Jim Kingdon和Arnold Robbins指定的GNU coreutils中的touch版本。 对于Microsoft Windows,该命令是Win32端口UnxUtils GNU类Unix实用程序集合中的一个独立软件包。FreeDOS版本根据GPL授权,并由Kris Heidenstrom集成。KolibriOS和DR DOS 6.0也添加了touch命令的实现。此外,touch命令已发布到IBM i OS。 touch在Ubuntu中的工作原理touch是一个常见的Linux命令,用于创建空文件或修改文件时间戳(文件访问时间、最后日期或修改时间)。 时间戳Linux文件包含三个时间戳:ctime、mtime和atime。这些时间戳解释如下:
语法 示例 ![]() 如上所示,我们通过touch命令创建了两个名为'myfile1'和'myfile2'的文件。要创建多个文件,只需键入所有文件名,后跟一个touch命令,然后按Enter键。例如,如果您想同时创建'myfile1'和'myfile2',则命令将是: touch 选项
Linux touch -a 命令带'a'选项的touch命令用于更改文件的访问时间。默认情况下,它将采用您系统的当前时间。 语法 示例 要查看文件的访问和更改时间,您需要使用stat命令。 ![]() 在上面的快照中,我们使用了'stat'命令(我们将在后面的教程中学习它)来检查目录(usr)的状态。所以不要对此感到困惑。现在您可以比较在执行'touch -a usr'命令之前和之后目录(usr)的访问时间。它采用了我们系统的默认访问时间。 Linux touch -m 命令touch '-m' 选项将帮助您仅更改文件的修改时间。 语法 示例 ![]() 请仔细观察上图,只有修改时间发生了变化。 Linux touch -r 选项此命令将根据另一指定命令更新时间。使用此命令有两种方式。两者都工作相同。 在下面的示例中,我们想根据'demo.txt'更改'Demo.txt'的时间戳。首先,您可以这样写: 或 在使用touch命令之前,我们先查看两个文件的状态。 ![]() 现在,在使用touch -r demo.txt Demo.txt命令后,Demo.txt的时间已根据demo.txt的时间进行了更改。 ![]() Linux touch -t 命令使用此命令,您可以根据指定的访问时间来更改文件的访问时间。 它将使用指定时间而不是默认时间来修改时间。 时间格式为: 下面的截图显示了在touch命令之前文件 2.png 的状态。 ![]() 这张截图显示文件 2.png 的时间已由我们指定的进行了修改。 ![]() Linux touch -c 命令如果文件不存在,使用'c'选项和touch命令将不会创建空文件。 语法 示例 ![]() 在上图中,我们想创建文件'movie',但使用了'c'选项,没有创建任何文件。 设置特定时间戳我们可以使用touch命令为文件设置特定的时间戳。例如: 时间戳格式遵循特定模式: 其中,
使用日期字符串设置文件时间戳我们可以使用带 -d 标志的 touch 命令来设置日期字符串的时间戳。其语法如下: 日期字符串是一种可变的日期格式,并支持多种人类可读的文本格式。以下是一些示例:
下一主题Linux rm |
我们请求您订阅我们的新闻通讯以获取最新更新。