Linux命令之 touch命令
warning:
这篇文章距离上次修改已过1694天,其中的内容可能已经有所变动。
用来修改文件时间戳,若文件不存在,系统会则会新建一个文件。
命令语法
touch [选项] 文件
附加参数
参数 | 说明 |
---|---|
-a, --time=[atime/access/use] | 只更改存取时间。 |
-c, --no-create | 不建立任何文档。 |
-d | 使用指定的日期时间,而非现在的时间。 |
-f | 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 |
-m, --time=[mtime/modify] | 只更改变动时间。 |
-r | 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。 |
-t | 使用指定的日期时间,而非现在的时间。 |
-h, --no-dereference | 会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者时,此选项才有用) |
当时用-t
参数时,时间戳格式规定为如下形式的十进制数:[[CC]YY]MMDDhhmm[.SS]
- 数字列表项目CC为年数中的前两位,即”世纪数”;
- YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch将把年数CCYY限定在1969--2068之内;
- MM为月数;
- DD为天数;
- hh为小时数;
- mm为分钟数;
- SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒;
- 这些数字组成的时间是环境变量TZ指定的时区中的一个时间.
由于系统的限制,早于1970年1月1日的时间是错误的。
常用范例
创建新文件
touch test
更新test的时间戳和test2的时间戳相同
touch -r test test2
设定文件的时间戳
touch -t 202004152232.50 test