如何在linux使用touch命令修改文件时间戳
Linux中的touch命令是用于更改文件时间戳。但touch命令的最常见用法是创建新的空文件。在本教程中我们将说明如何使用touch命令更改Linux中文件和文件夹的访问、修改和更改时间。包括使用stat命令查看文件或者目录时间戳,修改为指定时间戳,使用另一个文件的时间戳,更改符号链接时间戳。
linux-">Linux文件时间戳
在讨论如何使用touch命令之前,首先回顾一下Linux中的文件时间戳。Linux中的文件有三个时间戳:
访问时间atime
atime全称Access time即某些命令或应用程序,如cat,vim或grep访问或者打开文件的最后时间。
修改时间mtime
mtime全称Modify time即上次修改文件内容的时间。
更改时间ctime
ctime全称Change time即文件的属性或内容最后一次更改。该属性包括文件权限,文件所有权或文件位置。
stat命令
在修改文件或者文件夹的时间戳之前,需要知道文件或者文件夹当前时间戳,从而确定是否修改时间戳,你可以使用stat
命令打印包含时间戳的文件状态。
stat file_name
touch命令
要创建新文件,您需要具有对目录的写权限。否则,您将收到权限拒绝的错误。在没有任何选项的情况下是使用它的最简单形式,如果指定的文件不存在,touch将创建一个新文件。如果文件已存在,则touch会将文件的上次访问和修改时间更改为当前时间。
例如,如果文件file1
不存在,则以下命令将创建它,否则将更改其时间戳:
touch file1
要一次创建或修改多个文件,请将多个文件名以空格符分隔作为参数传递touch命令:
touch file1 file2 file3
如果您不希望touch命令创建新文件,请使用-c
(--no-create
)选项。例如,如果文件file1
存在,则以下命令将更改文件时间戳,否则,它将不执行任何操作:
touch -c file1
仅更改访问或修改时间
默认情况下,如果未使用任何选项,则会将文件的上次访问和修改时间更新为当前时间。通过使用-a
和-m
选项,允许你更改其中一个时间戳。
仅更改访问时间
使用-a
选项仅更改文件的访问时间:
touch -a file1
仅更改修改时间
使用-m
选项仅更改文件的修改时间:
touch -m file1
更改修改时间时,更改时间也将更新。
设置特定时间戳
touch命令还允许我们更新或创建具有除当前时间之外的特定时间的文件。使用-d
(--date=
)选项指定日期字符串。touch将会使用指定的时间而不是当前时间。
例如,要将最后访问和修改时间更改为2018年6月1日11:02,您将使用以下命令:
touch -d '1 June 2018 11:02' file1
日期字符串需要用单引号括起来。您还可以为touch命令提供部分日期时间字符串。仅提供日期,自动将年份更改为当前年份:
touch -d '12 June' file1
使用-t
选项指定时间戳,timestamp参数需要采用以下格式:
use [[CC]YY]MMDDhhmm[.ss]
例如,以下命令将file1
的上次访问和修改时间设置为当前年份的6月1日02日
touch -t 12061102 file1
使用另一个文件的时间戳
-r
(--reference=
)选项允许我们指定一个参考文件,并使用它的时间戳,而不是当前的时间。例如,以下命令将告诉touch将file2
的时间戳写到 file1
:
touch -r file1 file2
更改符号链接时间戳
默认情况下,如果在符号链接上使用touch命令修改属性,它将更改其引用文件的时间戳。使用-h
(--no-dereference
)修改符号链接的时间戳,不会将属性的更改到其引用的文件例如,要更改符号链接symlink1
的时间戳:
touch -h symlink1
结论
至此你应该很好地理解如何使用touch命令。
以上是 如何在linux使用touch命令修改文件时间戳 的全部内容, 来源链接: utcz.com/z/506940.html