touch 命令的功能是用于创建空文件与修改时间戳。
如果文件不存在,则会创建出一个空内容的文本文件。
如果文件已经存在,则会对文件的 Atime(访问时间)和 Ctime(修改时间)进行修改操作。
注意:创建文件是 touch 命令的一种特殊情况。并且,touch 只能建立新的空文件,必须借助文本编辑器为文件录入内容,这和 cat 命令不一样。
touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][--help][--version][文件或目录...] touch [-acfm][--help][--version][日期时间][文件或目录...]
-a 改变档案的读取时间记录
-m 改变档案的修改时间记录
-r 使用参考档的时间记录,与 --file 的效果一样
-c 不创建新文件
-d 设定时间与日期,可以使用各种不同的格式
-t 设定档案的时间记录,格式与 date 命令相同
--no-create 不创建新文件
--help 显示帮助信息
--version 列出版本讯息
(1)使用 touch 命令创建两个文件 new1.txt 和 new2.txt,并以当前时间设定其修改和访问时间
[hxstrive@localhost ~]$ touch new1.txt new2.txt [hxstrive@localhost ~]$ ll new1.txt new2.txt -rw-rw-r--. 1 hxstrive hxstrive 0 May 26 22:54 new1.txt -rw-rw-r--. 1 hxstrive hxstrive 0 May 26 22:54 new2.txt
(2)利用其他文件的时间属性设置新文件的时间属性
[hxstrive@localhost ~]$ ll demo.txt -rw-rw-r--. 1 hxstrive hxstrive 173 May 26 22:32 demo.txt [hxstrive@localhost ~]$ touch -r demo.txt new.txt [hxstrive@localhost ~]$ ll new.txt -rw-rw-r--. 1 hxstrive hxstrive 0 May 26 22:32 new.txt
由运行可知,新文件 new.txt 的时间属性和 demo.txt 文件的时间属性一致。因为,new.txt 文件的时间属性是由 demo.txt 时间属性设置的。
(3)使用 -d 选项手动为文件设置时间
[hxstrive@localhost ~]$ touch -d '2022-01-01 12:59:59' new.txt [hxstrive@localhost ~]$ ll new.txt -rw-rw-r--. 1 hxstrive hxstrive 0 Jan 1 12:59 new.txt
由运行可知,上面手动将 new.txt 文件的时间设置为“2022-01-01 12:59:59”。
更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息