touch命令

touch 命令 #

touch命令用于创建空文件或更新现有文件的访问和修改时间戳。它是一个简单但非常有用的命令,常用于创建空文件或更新文件时间戳而不修改内容。

语法 #

touch [选项] 文件...

常用选项 #

选项 描述
-a 只更改访问时间
-c, --no-create 不创建任何文件
-d, --date=字符串 使用指定的日期时间而不是当前时间
-m 只更改修改时间
-r, --reference=文件 使用指定文件的时间而不是当前时间
-t [[CC]YY]MMDDhhmm[.ss] 使用指定的时间而不是当前时间

常见用法 #

1. 创建空文件 #

touch newfile.txt

如果newfile.txt不存在,这将创建一个空文件;如果已存在,则更新其访问和修改时间。

2. 创建多个空文件 #

touch file1.txt file2.txt file3.txt

3. 只更新文件的访问时间 #

touch -a file.txt

4. 只更新文件的修改时间 #

touch -m file.txt

5. 不创建新文件,只更新已存在文件的时间戳 #

touch -c file.txt

如果file.txt不存在,不会创建新文件。

6. 使用指定的日期时间 #

touch -d "2023-07-19 14:30:00" file.txt

touch --date="2023-07-19 14:30:00" file.txt

7. 使用另一个文件的时间戳 #

touch -r reference_file.txt target_file.txt

这将使target_file.txt的时间戳与reference_file.txt相同。

8. 使用特定格式的时间 #

touch -t 202307191430.00 file.txt

这将设置文件时间为 2023 年 7 月 19 日 14:30:00。

9. 使用相对时间 #

touch -d "yesterday" file.txt
touch -d "2 days ago" file.txt
touch -d "+1 hour" file.txt

10. 使用通配符更新多个文件 #

touch *.txt

这将更新当前目录中所有.txt 文件的时间戳。

时间戳格式 #

使用-t选项时,时间戳格式为:

  • [[CC]YY]MMDDhhmm[.ss]
    • CC - 世纪(前两位年份)
    • YY - 年份(后两位)
    • MM - 月份(01-12)
    • DD - 日期(01-31)
    • hh - 小时(00-23)
    • mm - 分钟(00-59)
    • ss - 秒(00-59)

提示 #

  • touch命令最常用于创建空文件,这在脚本编程中很有用
  • 在编写脚本时,可以使用touch创建锁文件或标记文件
  • 更新文件时间戳可以影响备份和缓存行为
  • 使用-c选项可以确保不会意外创建新文件
  • 在测试文件系统行为时,touch命令非常有用
  • 使用-d-t选项可以设置特定的时间戳,这在测试基于时间的程序逻辑时很有用
  • 在某些情况下,更新文件的时间戳可以触发某些监视文件变化的程序的操作