touch

修改文件的时间属性


语法格式

touch [-achm] [-d str] [-r file] [-t timestamp] [--time=word] files
touch [--help] [--version]

命令简介

touch命令根据当前的系统时间,更新指定文件的访问时间和修改时间。如果指定的文件不存在,将会创建新的空文件,除非指定了“-c”或“-h”选项。

在上述语法格式中,files是一个或多个欲修改时间属性的文件或新建的空文件。如果指定的文件名为“-”,touch将会修改与标准输出相关联的文件的时间属性。

注意,在修改文件的时间属性时,用户必须是文件的属主,或拥有写文件的访问权限。

命令选项

-a  仅修改文件的访问时间。

-c, --no-create  不创建任何文件。

-d str, --date=str  解析指定的时间字符串,用以替代当前的系统时间。时间字符串的写法相对比较自由,其中可以包含日期、时间、时区、周、相对时间、相对日期及数字串等。例如,“Sun, 26 Feb 2012 20:10:30 +0800”、“2012-02-26 20:10:30”,甚至“next Sunday”等。

-h, --no-dereference  仅修改符号链接文件本身的时间,而不涉及其引用的文件。

-m  仅更新文件的修改时间。

-r file, --reference=file  使用指定文件的时间而非当前的系统时间设置文件的时间。注意,如果指定的参考文件是一个符号链接文件,参考时间取的是符号链接文件引用的文件,而非符号链接文件,除非同时也指定了“-h”选项。

-t timestamp  使用“[[CC]YY]MMDDhhmm[.ss]”格式的时间而非当前的系统时间设置文件的时间。

--time=word  按照指定的时间要求修改文件的相应时间。例如,如果word是access、atime或use,相当于选用“-a”选项,即修改文件的访问时间,如果word是modify或mtime,相当于选用“-m”选项,即更新文件的修改时间。

注意,“-d”与“-t”选项采用不同的时间格式字符串,“-d”选项的格式要求相对随意一点,“-t”选项的格式要求相对严格一点。

应用实例

1. 更新C源码文件的最近修改时间与访问时间,重新编译。

$ touch *.c
$ make

2. 创建两个空的测试文件。

$ touch test1 test2
$

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z