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
选项可以设置特定的时间戳,这在测试基于时间的程序逻辑时很有用 - 在某些情况下,更新文件的时间戳可以触发某些监视文件变化的程序的操作