linux inode信息查看命令stat

在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。

  与文件相关的几个时间:

  1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。

  2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。

  3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令文件名。

  比如: [jing@zhjh c]$ stat temp.c

  引用:

  File: 'temp.c'

  Size: 66 Blocks: 8 IO Block: 4096 \u4e00\u822c\u6587\u4ef6

  Device: 807h/2055d Inode: 1191481 Links: 1

  Access: (0664/-rw-rw-r--) Uid: ( 500/ jing) Gid: ( 500/ jing)

  Access: 2008-03-12 20:19:45.000000000 0800

  Modify: 2008-03-12 20:19:45.000000000 0800

  Change: 2008-03-12 20:19:45.000000000 0800

  说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态


 

在windows下,一个文件有:创建时间、修改时间、访问时间。
在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间

两者有此不同, 在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取过,那么访问时间=建立时间,因为不好判断文件是否被改过、读过、其状态是否变过,所以判断文件的建立时间基本上能为不可能。
 
如何查一个文件的三个时间呢?
先用下面的命令来建立一个文件
# date && echo "thisis file be used test time of file" >filetime.txt && ll--full-time filetime.txt
Tue Aug  4 15:13:44 HKT 2009
-rw-r--r--      1root        root                    39 2009-08-04 15:13:44.000000000 +0800 filetime.txt
 
通过statfilename.txt来查,如:
# stat filetime.txt 
  File: `filetime.txt'
  Size:39             Blocks:8         IO Block: 4096   RegularFile
Device:802h/2050d     Inode:17         Links:1    
Access: (0644/-rw-r--r--)  Uid:(   0/   root)   Gid:(   0/   root)
Access: 2009-08-0415:13:44.000000000 +0800
Modify: 2009-08-04 15:13:44.000000000 +0800
Change: 2009-08-04 15:13:44.000000000 +0800

说明:Access访问时间。Modify修改时间。Change状态改动时间。可以stat*查看这个目录所有文件的状态。
ctime=change time
atime=access time
mtime=modifiy time
 
因为这是一个新的文件(filetime.txt),没做过内容、属性的更改,也没读过这个文件,所以三者(访问时间、修改时间、状态改动时间)的时间是一致的,这时文件的修改时间与这三个时间是一样的,是没有疑问的。
 
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件运用more、cat等命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改动时间。是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。
 
另个除了可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:
ls -lc filename 列出文件的ctime (最后更改时间)
ls -lu filename 列出文件的atime(最后存取时间)
ls -l filename 列出文件的 mtime(最后修改时间)
 
在linux中stat函数中,用st_atime表示文件数据最近的存取时间(last accessedtime);用st_mtime表示文件数据最近的修改时间(last modifiedtime);使用st_ctime表示文件i节点数据最近的修改时间(last i-node's status changedtime)。
 
  字段                    说明                                  例子                    ls(-l)
  st_atime  文件数据的最后存取时间            read                      -u
  st_mtime  文件数据的最后修改时间            write                    缺省
  st_ctime  文件数据的最后更改时间            chown,chmod       -c
 
 
在linux系统中,系统把文件内容数据与i节点数据是分别存放的,i节点数据存放了文件权限与文件属主之类的数据。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值