touch命令是什么意思?touch命令的作用和用法

touch命令是什么意思?touch命令的作用是什么?在Linux中touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间,语法格式“touch [option][文件或目录…]”。使用touch命令时,如果指定的文件不存在,系统则会创建一个新的空白文件,本文为大家讲解下touch命令的用法。

一、如何使用touch命令

如果touch命令使用不带任何选项的简单形式,并且指定的参数的文件名不存在,则touch命令会创建一个新文件。如果文件存在,touch命令会将该文件的上次访问时间和修改时间更改为当前时间。

例如:file1.txt文件不存在,使用touch命令可以创建该文件,否则修改该文件的时间戳。

命令如下:

touch file1.txt

如果要一次创建多个文件或者修改多个文件的时间戳,可以使用如下命令:

touch file1.txt file2.txt file3.txt

如果不希望使用touch命令时创建文件可以在命令中使用-c (--no-create)选项。

例如,假设文件file1.txt存在,可以使用如下命令修改该文件的时间戳,即便该文件不存在也不会创建新的文件。

touch -c file1.txt

二、仅更改访问或修改时间

默认情况下,如果该文件存在默认使用touch命令会修改该文件的访问时间和修改时间为当前时间。当然我们也可以使用-a-m选项来指定文件的访问时间和修改时间。

使用-a选项更改文件的访问时间为当前时间:

touch -a file1.txt

使用-m选项更改文件的修改时间为当前时间:

touch -m file1.txt

当我们使用-m更改文件的修改时间(mtime)是,文件的更改时间(ctime)也会随之更改。

三、设置特定的时间戳

touch命令还允许我们使用当前时间以外的特定时间更新或创建文件。

使用-d(--date =)选项指定日期字符串,并使用它代替当前时间。

例如,要将file1的上次访问和修改时间都更改为2020年1月7日11:02,请使用以下命令:

touch -d '7 Jan 2020 11:02' file1

日期字符串需要使用单引号。

当然,还可以为touch命令提供部分日期时间字符串。 仅提供日期,会自动将年份更改为当前年份:

touch -d '12 Jan' file1

使用-t选项指定时间戳,并使用它代替当前时间。 timestamp参数必须采用以下格式:

[[CC]YY]MMDDhhmm[.ss]

例如,以下命令会将file1的最后访问和修改时间设置为当年的1月1日11:02。

touch -t 01061102 file1

四、使用另一个文件的时间戳

-r(--reference =)选项允许我们指定参考文件并使用其时间戳而不是当前时间。

例如,以下命令将告诉touch将file1的时间用于file2:

touch -r file1 file2

五、更改符号链接时间戳

默认情况下,如果在符号链接上使用touch命令,它将更改其引用文件的时间戳。

使用-h(--no-dereference)修改符号链接的时间戳。

例如,要更改符号链接symlink1的时间戳,可以使用:

touch -h symlink1

相关推荐:

《head命令作用和用法 Linux head命令详解》

《Linux中tail命令的用法 Linux tail命令详解》

THE END
点赞487 分享