修改文件和目录的 Access/Modify

发布时间 2023-04-12 18:21:42作者: 蜗小蜗

touch命令不光可以用来创建文件(当指定操作文件不存在时,该命令会在当前位置建立一个空文件),更重要的是修改文件的时间参数(当文件文件存在时,会修改文件的时间参数)

linux系统中,每个文件主要拥有3个时间参数,通过stat命令进行查看。分布是文件的访问时间,数据修改时间,状态修改时间。

Access Time,简称atime 访问时间:只要文件的内容被读取,访问时间就会更新。  比如:使用cat命令查看文件内容,此时文件的访问时间就会发生改变。

Modify Time,简称mtime 数据修改时间:当文件的内容数据发生改变,此文件的数据修改时间就会跟着相应改变。

Change Time,简称ctime 状态修改时间:当文件的状态发生变化,就会相应改变这个时间。比如:使用chmod chown 修改文件的权限或者属性,此时文件的状态修改时间就会相应改变。

https://www.runoob.com/linux/linux-file-attr-permission.html  Linux文件属性

 touch命令基本格式:touch [选项] 文件名

常用选项 描述
-a change only the access time 修改文件的访问时间
-m change only the modification time 修改文件的数据修改时间
-d parse STRING and use it instead of current time 同时修改文件的访问时间和数据修改时间
-t use [[CC]YY]MMDDhhmm[.ss] instead of current time
$stat 1.txt
  File: ‘1.txt’
  Size: 7           Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d  Inode: 2890419     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  505/   admin)   Gid: (  505/   admin)
Access: 2023-04-12 16:47:26.438339892 +0800
Modify: 2023-04-12 16:47:26.438339892 +0800
Change: 2023-04-12 16:47:26.439339927 +0800

$sudo touch -d "2017-01-01 10:00" 1.txt #修改文件的mtime和atime

$stat 1.txt
File: ‘1.txt’
Size: 7 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 2890419 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-01 10:00:00.000000000 +0800
Modify: 2017-01-01 10:00:00.000000000 +0800
Change: 2023-04-12 16:59:00.175718879 +0800
Birth: -

 

 

修改目录权限:

$ll test -d
drwxrwxr-x 2 admin admin 4096 Apr 12 16:47 test

$touch -d "2017-01-01 10:00" test #修改文件

$ll test -d
drwxrwxr-x 2 admin admin 4096 Jan 1 2017 test