linux命令:touch命令详解

一、touch命令简介

  命令用于修改文件或者目录的时间属性,包括访问时间和修改时间,若文件不存在,系统会建立一个新的文件。我们平时用得最多的是通过touch创建一个空文件,实际上通过touch命令可以修改文件的atime、mtime,所以文件的真实访问时间和修改时间是可以被修改,我们在排查系统异常的时候还需要结合日志、历史命令等等因素综合决策。

 

二、使用语法及参数说明

1、使用语法

用法:touch [OPTION]… FILE…

2、参数说明

参数 参数说明
- a 改变档案的读取时间记录。
-c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
-d 设定时间与日期,可以使用各种不同的格式。
-f 不使用,是为了与其他 unix 系统的相容性而保留。
-h 影响每个符号链接,而不是任何引用的文件(仅在可以更改符号链接时间戳的系统上有用)
-m 改变档案的修改时间记录。
-r 使用参考档的时间记录,与 --file 的效果一样。
-t 设定档案的时间记录,格式与 date 指令相同。
–help 列出指令格式。
–version 列出版本讯息。

三、使用示例

1、获取命令帮助

[root@s145]~# touch --help

2、查看命令版本

[root@s145]~# touch --version
touch (GNU coreutils) 8.22

3、创建一个空文件

  如果文件不存在,使用touch命令默认创建一个空文件。
在这里插入图片描述

4、更新atime、mtime、ctime

  使用touch命令,如果文件存在则更新atime,mtime,ctime为当前时间。
在这里插入图片描述

5、-a更新atime和ctime

  使用-a参数,touch文件时,文件存在只会更新atime和ctime为当前时间。
在这里插入图片描述

6、-m参数修改mtime

  使用-m参数,touch文件时,文件存在只会更新mtime和ctime为当前时间。

在这里插入图片描述

7、-d参数将文件的atime,mtime,ctime按照设置修改

  使用touch -d "3 years ago"可以将文件的三个时间改为3年前。
在这里插入图片描述
在这里插入图片描述

8、-t参数修改atime和mtime

  使用touch -t "[[CC]YY]MMDDhhmm[.ss]"修改文件的atime和mtime
在这里插入图片描述

9、使用-at参数只修改atime

  如果只想更新atime可以使用-at组合参数。
在这里插入图片描述

10、使用-mt参数只修改mtime

  如果只想更新mtime可以使用-mt组合参数。
在这里插入图片描述

11、-r参数修改文件时间属性为另一文件时间属性

  通过touch -r file1 file2,将file2的时间属性值修改为file1文件的时间属性。
在这里插入图片描述

12、-h更新软连接的时间属性

  touch命令默认更新的是真实文件的时间属性,如果需要更新软连接的时间属性,需要使用-h参数。
在这里插入图片描述

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据