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
四、使用另一个文件的时间戳
<<<<<<新加坡站群服务器,新加坡站群服务器租用,美国站群服务器,美国站群服务器租用,韩国站群服务器,韩国站群服务器租用,日本站群服务器,日本站群服务器租用,香港服务器,香港站群服务器,美国香港CN2服务器,QIFENGKK>>>>>
-r(--reference =)
选项允许我们指定参考文件并使用其时间戳而不是当前时间。
例如,以下命令将告诉touch将file1的时间用于file2:
touch -r file1 file2
五、更改符号链接时间戳
默认情况下,如果在符号链接上使用touch
命令,它将更改其引用文件的时间戳。
使用-h(--no-dereference)
修改符号链接的时间戳。
例如,要更改符号链接symlink1
的时间戳,可以使用:
touch -h symlink1