原文地址:https://www.iteye.com/blog/xiaoxiaoher-2509124
find命令的 -mtime等几个时间参数的作用
linux系统中文件的三种时间属性
modification time(mtime,修改时间):当该文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性。
status time(ctime,状态时间):当该文件的”状态(status)”改变时,就会更新这个时间,举例来说,更改了权限与属性,就会更新这个时间。
access time(atime,存取时间):当“取用文件内容”时,就会更新这个读取时间。举例来说,使用cat去读取 ~/.bashrc,就会更新atime了。
find命令中时间参数的用法
find命令用于在指定目录下查找文件,其中-mtime、-ctime、-atime三个参数分别是对文件的修改时间、状态时间、存取时间进行筛选,先以-mtime为例介绍这几个参数的用法。
系统/home/mysql/backup目录中有4个文件,命令行进入该目录使用 ls -l 命令查看文件信息(后面查询执行时间都在2019-10-22当天且都在 12点左右)
-mtime n
-mtime n的含义是 查找修改时间在前n天的文件,也就是 24*n<mtime<24*(n+1)
注:这里的mtime表示文件修改时间与命令执行时间差这里等号是否包含不好测暂且不管
那么-mtime 1就是前一天,也就是查找 24<mtime<48 的文件,那就是修改时间在 2019-10-21 12:00:00到2019-10-20 12:00:00之间的文件;上面符合条件的只有 2.sql这个文件
-mtime +n
-mtime +n的含义是查找修改时间超过 -mtime n上限的文件,也就是 mtime>24*(n+1),那 -mtime +1 的含义就是修改时间在2019-10-20 12:00:00之前的文件,符合条件的有 3.sql 、4.sql
-mtime -n
-mtime -n的含义是查找修改时间不超过 -mtime n 下限的文件,也就是 mtime<24*n ,那 -mtime -1 的含义就是修改时间在2019-10-21 12:00:00之后的文件,符合条件的只有 1.sql