> 文件与目录管理 > touch

touch: 更改或创建文件的访问和修改时间

touch 命令用于更改文件的访问时间(access time)和修改时间(modification time),或者在文件不存在时创建新文件。特别是 `-m` 选项在仅更新文件修改时间时非常有用,并且在构建系统或脚本中广泛用于操作文件时间戳。

概述

touch 命令将文件的时间戳更新为当前时间,或者在指定文件不存在时创建一个空文件。默认情况下,它会更改访问时间和修改时间,但可以使用各种选项来仅更改特定时间,或引用其他文件的时间进行设置。

主要功能

  • 更新文件的访问时间 (access time)
  • 更新文件的修改时间 (modification time)
  • 创建不存在的文件
  • 引用其他文件的文件时间戳
  • 将文件时间戳设置为特定日期和时间

主要选项

touch 命令的主要选项用于精确控制文件的文件时间戳。

时间更改与控制

生成的命令:

请尝试组合命令。

描述:

`touch` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过 touch 命令的各种使用示例,了解如何有效地管理文件时间戳。

创建新的空文件

touch new_file.txt

创建不存在的 `new_file.txt` 文件。如果文件已存在,则仅将时间戳更新为当前时间。

仅更新文件的修改时间

touch -m document.txt

仅将 `document.txt` 文件的修改时间更改为当前时间,而访问时间保持不变。

仅更新文件的访问时间

touch -a report.log

仅将 `report.log` 文件的访问时间更改为当前时间,而修改时间保持不变。

将时间戳设置为特定时间

touch -t 202301011030.00 old_file.txt

将 `old_file.txt` 文件的访问和修改时间设置为 2023 年 1 月 1 日 10 点 30 分 00 秒。

引用其他文件的时间

touch -r source.txt target.txt

将 `target.txt` 文件的访问和修改时间设置为与 `source.txt` 文件相同。

文件不存在时不创建,仅尝试更新时间戳

touch -c non_existent.txt

如果 `non_existent.txt` 文件不存在,则不创建它;如果存在,则仅更新其时间戳。

提示与注意事项

使用 touch 命令时的有用提示和注意事项。

使用技巧

  • **脚本和构建系统:** `make` 等构建系统根据文件的修改时间决定是否重新构建。通过使用 `touch` 强制更新特定文件的修改时间,可以触发重新构建。
  • **日志文件管理:** 更新日志文件的访问时间以指示最近的读取,或更改修改时间以记录特定事件的发生时间。
  • **创建临时文件:** 在需要创建简单的临时文件时,可以使用 `touch tempfile.tmp` 等命令快速创建空文件。

注意事项

  • **权限:** 您必须对要修改或创建文件的目录具有写入权限。否则将出现“Permission denied”错误。
  • **时区:** 在使用 `-t` 选项指定时间时,结果可能会根据系统的时区设置而有所不同,请注意。
  • **理解 `-c` 选项:** `-c` 选项表示“不创建”(no create),而不是“创建”(create)。也就是说,如果文件不存在,则不创建它。默认情况下,`touch` 会创建不存在的文件。

相同类别命令