首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux文件的三个时间属性

Linux文件的三个时间属性

作者头像
后场技术
发布2020-11-03 15:19:15
8370
发布2020-11-03 15:19:15
举报
文章被收录于专栏:后场技术后场技术后场技术

时间属性介绍

Linux下一个文件通过stat命令可以查看到这个文件时间方面的属性,具体信息如下:

# stat tengine-2.0.0-23tf4566.tar.gz
  File: 'tengine-2.0.0-23tf4566.tar.gz'
  Size: 35995224      Blocks: 70304      IO Block: 4096   regular file
Device: 802h/2050d    Inode: 201842670   Links: 1
Access: (0644/-rw-r--r--)  Uid: (  501/ UNKNOWN)   Gid: (   20/   games)
Access: 2020-07-30 14:07:46.617759798 +0000
Modify: 2020-07-30 12:57:35.000000000 +0000
Change: 2020-10-16 06:20:13.535869875 +0000
 Birth: -

如上所示,可以看出来分别有Access Modify Change 三个关于时间的属性。

此三个属性初始时间记录都是文件被创建的时间:

  • Access 指最后一次读取的时间(访问)
  • Modify 指最后一次修改数据的时间(修改)
  • Change 指最后一次修改元数据的时间(改变)

Access的意思是访问:

在终端上用cat、more 、less、grep、sed、 cp 、file 一个文件时,此文件的Access的时间记录都会被更新(空文件例外),纯粹的access是不会影响modify和change,但会受到modify行为的影响。

ls -lu看到的文件时间是最近一次access的时间。对于目录而言,只是进入目录的话不会改变它的access时间,但只要用ls查看了此目录的内容(无论在何处),这个目录的access时间就会被更新。

Modify 意思是更改(内容)or 写入:

当更改了一个文件的内容的时候,此文件的modify的时间记录会被更新。用ls -l看到的文件时间是最近一次modify的时间。modify的行为是三个行为中最有影响力的行为,它发生以后,会使文件的access记录与change记录也同时得到更新, 对于目录亦是如此。

Change 改变(状态或属性): 对一个文件或者目录作mv、chown、chgrp操作后,它的Change时间记录被更新,change时间会受到modify行为的影响。用ls -lc看到的文件时间是最近一次change的时间。

# stat test.txt 
  File: ‘test.txt’
  Size: 10            Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d    Inode: 201843904   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-10-16 06:44:21.925299516 +0000
Modify: 2020-10-16 06:44:21.925299516 +0000
Change: 2020-10-16 06:44:21.925299516 +0000
 Birth: -

# cat test.txt 
lucky boy

# stat test.txt 
  File: ‘test.txt’
  Size: 10            Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d    Inode: 201843904   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-10-16 06:44:43.911988787 +0000
Modify: 2020-10-16 06:44:21.925299516 +0000
Change: 2020-10-16 06:44:21.925299516 +0000
 Birth: -

如上用cat命令将文件test.txt的内容输出到终端( 执行 cat test.txt), 那么文件test.txt只有的Access被刷新。

# date >> test.txt 
# stat test.txt 
  File: ‘test.txt’
  Size: 39            Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d    Inode: 201843904   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-10-16 06:44:43.911988787 +0000
Modify: 2020-10-16 06:46:56.760155796 +0000
Change: 2020-10-16 06:46:56.760155796 +0000
 Birth: -

如上把当前的时间追加到test.txt(执行 date >> test.txt) , 那么test.txt的ModifyChange都被刷新。

# chmod 777 test.txt 
# stat test.txt 
  File: ‘test.txt’
  Size: 39            Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d    Inode: 201843904   Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-10-16 06:44:43.911988787 +0000
Modify: 2020-10-16 06:46:56.760155796 +0000
Change: 2020-10-16 06:48:45.676571600 +0000
 Birth: -

如上把test.txt的权限改为777(执行 chmod 777 test.txt) , 那么只有test.txtChange被刷新。

假如我们用vi命令把文件test.txt打开, 然后保存退出,那么test.txtAccess、ModifyChange都会被刷新。

同时我们也可以使用命令touch更新test.txt的Access和Modify时间:

touch -d 1999-01-01 test.txt    // 将test.txt的Access和Modify时间改为1999-01-01
touch -a test.txt       // 只将test.txt的Access时间改为当前系统时间
touch -m test.txt     // 只将test.txt的Modify时间改为当前系统时间

当我们用ls -l test.txt看到的时间就是Modify时间。

按照时间排序文件

# ls -l
-rw-r--r-- 1 501 games 35995224 Jul 30 12:57 tengine-2.0.0-23tf4566.tar.gz
-rw-r--r-- 1 501 games  4321420 Jul 22 14:15 tengine-2.0.0-45axfa54.tar.gz
-rw-r--r-- 1 501 games 33238934 Jul 22 15:20 tengine-2.0.0-64af1234.tar.gz

如上有3个文件,如果按照时间排序呢?

按照修改时间排序:

ls -alt  等价于 ls --sort=time -la

按照创建时间排序:

ls -alc

按访问时间排序:

ls -alu

以上均可使用-r实现逆序排序

ls -alrt # 按修改时间排序
ls --sort=time -lra # 等价于> ls -alrt
ls -alrc # 按创建时间排序
ls -alru # 按访问时间排序

不管你是根据什么排序,加上-r 就会反序。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后场技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 时间属性介绍
  • 按照时间排序文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档