linux-文件时间详解

不同的文件系统,不同的操作系统对于文件时间的设置是不同的,一般分为创建时间(birth)、修改时间(ctime)、访问时间(atime),一般默认情况下显示的是修改时间(ctime),即默认以修改时间(ctime)当作排序时间 ,即一般情况
ls -lrt 显示的是修改时间,可以通过指定–time参数来指定是那种时间,示例如下:

创建时间(birth)

ls -lrt  --time=birth
ls -lrt  --time=creation

修改时间(ctime)

ls -lrt --time=ctime

访问时间(atime)

ls -lrt --time=atime

一、文件的创建时间

1. centos

centos操作系统,一般不会记录文件的创建时间

2. kylin

在kylin操作系统中,文件系统nfs,是有创建时间的,一般命令如下

ls -lrt --time=birth
ls -lrt --time=creation

创建时间、访问时间、修改时间如下所示:

[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=birth  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:15 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:04 test.log
[kyzjj@yyzc-zjjcs01 ~]$
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 11 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$

二、重定向只会改变文件的修改时间,创建时间和读取时间不会改变,对于覆盖和追加是一样的

[kyzjj@yyzc-zjjcs01 ~]$ cat <<EOF >test.log
> hello world
> EOF
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 12 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 12 Aug 21 16:21 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 12 Aug 21 16:15 test.log
[kyzjj@yyzc-zjjcs01 ~]$

[kyzjj@yyzc-zjjcs01 ~]$ cat <<EOF >>test.log
hello world
EOF
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:15 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$

三、cat命令只会修改atime(访问)时间

[kyzjj@yyzc-zjjcs01 ~]$ cat test.log
hello world
hello world
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$

四、当文件的权限,属组等属性更改后,修改时间会更新,其他时间不更新

五、more less tail 不会更改任何时间

[kyzjj@yyzc-zjjcs01 ~]$ more test.log
hello world
hello world
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ less test.log
[kyzjj@yyzc-zjjcs01 ~]$ less test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$
[kyzjj@yyzc-zjjcs01 ~]$ tail -200f test.log
hello world
hello world
^C
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=atime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:26 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=ctime  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:23 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls  -lrt  --time=creation  test.log
-rw-r--r-- 1 kyzjj kyzjj 24 Aug 21 16:01 test.log
[kyzjj@yyzc-zjjcs01 ~]$

六、vi命令会更改所有时间

[kyzjj@yyzc-zjjcs01 ~]$ vi test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls -lrt --time=ctime test.log
-rw-r–r-- 1 kyzjj kyzjj 32 Aug 21 16:30 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls -lrt --time=creation test.log
-rw-r–r-- 1 kyzjj kyzjj 32 Aug 21 16:30 test.log
[kyzjj@yyzc-zjjcs01 ~]$ ls -lrt --time=atime test.log
-rw-r–r-- 1 kyzjj kyzjj 32 Aug 21 16:30 test.log
[kyzjj@yyzc-zjjcs01 ~]$

注意:当文件的内容被修改的时候,一般上述三个时间都会被修改成最新的更改时间

七、其他注意点

stat 文件名 也可以查看文件的详细信息
stat -f /zhjl 展示文件系统的详细信息

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值