命令 touch 用于修改文件的时间戳 若文件不存在,则会创建文件
在Linux系统中,命令 touch 用于修改文件的时间戳(访问时间、数据修改时间、状态修改时间等等...),touch 的中文意思是触摸,使用该命令时,若文件不存在,则会创建文件,但千万别把 touch 当做创建文件的命令哦。
语法:
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
参数说明:
a 只修改文件的访问时间(Access Time)
m 只修改文件的数据修改时间(Modify Time)
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 将文件的时间改为指定的时间
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。
上述命令参数中,蓝色字体为最常用参数
常见用法:
修改目录student.py的时间属性为当前系统时间,时间由 17:03 变为 17:07
[root@VM_0_5_centos school]# ll total 20 -rw-r--r-- 1 root root 97 Jul 26 00:35 122.txt drwxr-xr-x 2 root root 4096 Jul 22 22:59 b drwxr-xr-x 2 root root 4096 Jul 22 22:59 c drwxr-xr-x 3 root root 4096 Jul 26 23:50 d -rw-r--r-- 1 root root 58 Jun 19 17:03 student.py -rw-r--r-- 1 root root 0 Jun 19 15:56 students.txt [root@VM_0_5_centos school]# touch student.py [root@VM_0_5_centos school]# ll total 20 -rw-r--r-- 1 root root 97 Jul 26 00:35 122.txt drwxr-xr-x 2 root root 4096 Jul 22 22:59 b drwxr-xr-x 2 root root 4096 Jul 22 22:59 c drwxr-xr-x 3 root root 4096 Jul 26 23:50 d -rw-r--r-- 1 root root 58 Sep 26 17:07 student.py #对比时间变化 -rw-r--r-- 1 root root 0 Jun 19 15:56 students.txt [root@VM_0_5_centos school]#
如果文件不存在,则创建文件
[root@VM_0_5_centos school]# ls 122.txt b c d student.py students.txt [root@VM_0_5_centos school]# touch 123.txt #创建123.txt [root@VM_0_5_centos school]# ls 122.txt 123.txt b c d student.py students.txt [root@VM_0_5_centos school]#
扩展:
Linux系统中,每个文件都有三个时间,分别是访问时间(Access Time)、数据修改时间(Modify Time)和状态修改后时间(Change Time)。
这三个时间都可以用stat命令来查看(后面介绍命令stat),不过touch命令只能手工指定修改访问时间和修改数据时间,而不能指定修改状态时间。因此不论是修改访问时间,还是修改文件的数据时间,对文件来讲,状态都会发生改变,所以状态修改时间会随之改变。在Linux中,文件没有创建时间。