每天一条Linux命令(7) touch (超详细)


在Linux系统中,命令 touch 用于修改文件的时间戳(访问时间、数据修改时间、状态修改时间等等…),touch 的中文意思是触摸,使用该命令时,若文件不存在,则会创建文件,但千万别把 touch 当做创建文件的命令哦。

命令名称:touch
英文原意:change file timestamps
所在路径:/bin/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 列出版本讯息。

上述命令参数中,蓝色字体为最常用参数

常见用法:

修改目录tsetDir的时间属性为当前系统时间,时间由 22:08 变为 22:14

[root@guiyun test]# lltotal 0drwxr-xr-x. 2 root root 6 Jul 20 22:08 tsetDir
[root@guiyun test]# touch tsetDir
[root@guiyun test]# lltotal 0drwxr-xr-x. 2 root root 6 Jul 20 22:14 tsetDir

如果文件不存在,则创建文件

[root@guiyun test]# lstsetDir
[root@guiyun test]# touch file01
[root@guiyun test]# lsfile01  tsetDir
[root@guiyun test]#

扩展:

Linux系统中,每个文件都有三个时间,分别是访问时间(Access Time)、数据修改时间(Modify  Time)和状态修改后时间(Change Time)。

这三个时间都可以用stat命令来查看(后面介绍命令stat),不过touch命令只能手工指定修改访问时间和修改数据时间,而不能指定修改状态时间。因此不论是修改访问时间,还是修改文件的数据时间,对文件来讲,状态都会发生改变,所以状态修改时间会随之改变。在Linux中,文件没有创建时间。

0

评论0

请先

没有账号? 注册  忘记密码?