Linux下如何查看文件秒级修改及访问时间,今天遇到这个问题,搜索一下并记录之。


通过 stat 命令即可。
如Oracle告警日志文件的具体时间信息:

 

[oracle@smsdbrac2 monitor]$ stat /opt/oracle/admin/smsdb/bdump/alert_smsdb2.log
  File: `/opt/oracle/admin/smsdb/bdump/alert_smsdb2.log'
  Size: 11732931        Blocks: 22952      IO Block: 4096  regular file
Device: 6802h/26626d    Inode: 1212722    Links: 1
Access: (0660/-rw-rw----)  Uid: (  800/  oracle)  Gid: (  800/    dba)
Access: 2008-12-25 23:31:01.000000000 +0800
Modify: 2008-12-25 23:19:44.000000000 +0800
Change: 2008-12-25 23:19:44.000000000 +0800

 

二.查看特定时间内修改过的文件

 按时间查找也有参数 -atime 访问时间 -ctime 改变状态的时间 -mtime修改的时间。但要注意,这里的时间是以24小时为单位的。查看man手册后使用,你会很迷惑: -mtime n: Files data was last modified n*24 hours ago. 字面上的理解是最后一次修改发生在n个24小时以前的文件,但实际上

  find ./ -mtime 0:返回最近24小时内修改过的文件。./代表需要查找的文件夹

  find ./ -mtime 1 : 返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。

  那怎么返回10天内修改过的文件?find还可以支持表达式关系运算,所以可以把最近几天的数据一天天的加起来:

  find ./ -mtime 0 -o -mtime 1 -o -mtime 2 ……虽然比较土,但也算是个方法了。