在Windows下文件信息为
在Linux下没有文件创建时间,现在通过指令 stat +文件名 查看文件信息
例如 : 使用 stat 指令 查看 12.c文件
stat 12.c
显示信息如下:
我们主要理解的是文件三个时间
atime(Access time) :我们去访问这个文件时,这个时间会更新,时间就是我们最后一次访问的时间
mtime(Access time): 文件内容最后一次更改的时间,不涉及权限
ctime(Change time): 文件 inode信息最后一次修改时间,比如:文件的link链接数,文件的大小,文件的权限
在linux 下查看文件三个时间指令为
ls -lc 查看文件的 ctiem
ls -l 查看文件的 mtime
ls -lu 查看文件atime
一.现在使用指令对文件进行操作,看三个时间如何变化
1.使用 vim 编辑文件12.c看看三个时间的改变
我们发现文件3个时间都发生了改变,因为vim先打开文件,就是读取了文件所以改变了atime
在文件中加入了一个小程序,改变了文件大小与文件内容,所以也改变了mtime,ctime。
2. 使用echo命令对文件进行操作
echo "123">12.c //向文件写入123,将文件原内容覆盖掉
我们发现 atime 并没有发生改变 ,其他两个都发生了改变。这是因为echo可以在不改变文件访问时间的情况下,对文件进行操作,mtime改变的原因是文件内容发生了改变,ctime改变的原因是文件大小发生了变化。
3. 使用cat命令对文件进行操作
cat 12.c // 查看文件内容
我们发现只有atime 发生了改变。是因为cat只是查看文件内容,访问了文件而已。
二. touch指令对三个时间的影响
touch命令一般用来修改文件的时间戳,或者新建一个不存在的文件
(1)命令格式: touch [参数选项] 文件名
(2)命令参数
-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不创建任何文档
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 将指定文件或目录的日期时间设置成参考文件或目录的时间日期。