Linux服务器查看一段时间内的文件,可以通过stat命令查看文件的 - [root@localhost]# stat test
- File: ‘test’
- Size: 4096 Blocks: 8 IO Block: 4096 directory
- Device: fd02h/64770d Inode: 37224449 Links: 68
- Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
- Context: unconfined_u:object_r:unlabeled_t:s0
- Access: 2022-08-02 10:26:49.819926683 +0800
- Modify: 2022-08-02 10:12:17.099937512 +0800
- Change: 2022-08-02 10:12:17.099937512 +0800
- Birth: 2022-08-02 10:12:17.099937512 +0800
复制代码
最近访问时间 access time (-atime) 最近更改时间modify time(-mtime) 最近状态改动时间 change time(-ctime) 文件的创建时间Birth
-atime, -ctime 和 -mtime参数含义: atime: 代表最近一次访问文件的时间,显示一个文件的内容或者运行一个shell脚本会更新文件的atime。可用ls -lu命令查看。在kernel 2.6.30之前,文件系统默认会及时的更新atime;此后版本,只有发生以下三种情况之一才会更新atime。 1. 将分区mount的挂载的时候指定采用非relatime方式 2. atime小于ctime或者小于mtime的时候 3. 本次的access time和上次的atime超过24个小时
mtime: 代表最近一次文件内容被修改的时间。可用ls -l 命令查看。
ctime: 代表最近一次文件状态的改变时间,是status change time,在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改,文件状态最后一次被改变的时间。可用ls -lc 命令查看。
在unix或linux环境中经常会用到find -mtime来找某时间点之前的文件,并在此基础上进行处理(如定期删除过期文件); 如何更好的理解find -mtime +N/-N/N,这里小结下:
-mtime n : n为数字,意思为在n天之前的“一天之内”被更改过内容的文件
-mtime +n : 列出在n天之前(不含n天本身)被更改过内容的文件名
-mtime -n : 列出在n天之内(含n天本身)被更改过内容的文件名
场景举例: 找“5天之内被更改过的档案名”; 找“5天前的那一天被更改过的档案名” ; 找“5天之前被更改过的档案名”。
下图来表现更直观,以便理解记忆 由以上时间轴可以看出,最右边为当前时,+5 代表大于等于 6 天前的档案名, -5 代表小于等于 5 天内的档案名,5 则是代表 5-6 那一天的档案名。 |