touch 命令

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

ls -l 可以显示档案的时间记录。

语法

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]


    参数说明:
    a 改变档案的读取时间记录。
    m 改变档案的修改时间记录。
    c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
    f 不使用,是为了与其他 unix 系统的相容性而保留。
    r 使用参考档的时间记录,与 --file 的效果一样。
    d 设定时间与日期,可以使用各种不同的格式。
    t 设定档案的时间记录,格式与 date 指令相同。
    --no-create 不会建立新档案。
    --help 列出指令格式。
    --version 列出版本讯息。

实例

使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:

首先,使用ls命令查看testfile文件的属性,如下所示:

执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:

使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:

touch命令实际上并不是用于创建文件,而是用于修改时间戳的,只是目标文件不存在时,会自动创建一个空文件,如果目标文件已存在,那么只修改目标文件时间戳。

补充说明:文件的3种时间为访问时间、修改时间、改变时间。

访问时间:atime,即查看内容的时间,如# cat a.txt,查看一下文件,即可更新文件的访问时间,该时间记录的是文件最后被访问的时间。

修改时间:mtime,即修改了文件内容的时间,如# vim a.txt,修改文件内容,即可更新文件修改时间,该时间记录的是文件最后被修改的时间,mtime一旦变化,ctime也会随之变化。

改变时间:ctime,即文件属性发生改变的时间,如权限、文件容量大小等一些并非文件内容的数据,而是与文件有关的元数据发生改变的时间。

注意:如果mtime发生改变,那么ctime也会随之而变,因为文件的元数据包含了文件的容量大小。mtime是根据文件内容发生改变而改变的,内容改变则说明容量改变,所以ctime也会改变。即使只是atime改变,ctime也会随之改变。

最后更新于

这有帮助吗?