修改文件的时间属性
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