Linux命令之 touch命令

warning: 这篇文章距离上次修改已过1415天,其中的内容可能已经有所变动。

用来修改文件时间戳,若文件不存在,系统会则会新建一个文件。

命令语法

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

test2时间戳更新成和test一直test2时间戳更新成和test一直


设定文件的时间戳

touch -t 202004152232.50 test

设定文件的时间戳设定文件的时间戳

评论已关闭