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 ……虽然比较土,但也算是个方法了。