查询最近被修改的文件:
find . {-atime/-ctime/-mtime/-amin/-cmin/-mmin} [-/+]num
第一个参数,.,代表当前目录位置;
第二个参数分两部分,前面字母a、c、m分别代表访问、变更、修改,time为日,min为分钟;
第三个参数为量,其中不带符号表示单位时间内,如当天,当前1分钟,带-表示符合该数量以后的,带+表示符合该数量以前的。
在2015年8月12日00:00:00时,在/home下输入ping www.baidu.com > ping.log;5秒钟后,该用户使用ctrl+C强制关闭该命令;5秒钟后,使用cat ping.log查看。则ping.log的ctime为2015-08-12 00:00:00;mtime为2015-08-12 00:00:05;atime为2015-08-12 00:00:10。atime:access time,文件最后被读取的时间,touch命令更改为当前时间;ctime:change time,文件最后被变更的时间,chmod、chgrp、mv等等;mtime:modify time文件内容最后被修改的时间,echo重定向、vi等等;
假设当前时间是2015年8月12日00:00:00分,则:
1、查找2015年8月11日00:00:00到2015年8月11日23:59:59被访问过的文件:时间是day,查找单位时间内的不带符号且无偏移:
find . -atime 0
2、查找2015年8月11日23:50:00到2015年8月12日23:55:00被修改过内容的文件(没有比当前期间晚的时间):时间是min,往前偏移10min,上限从当前往前偏移5min:
find . -mmin -10 -mmin +5
3、查找2015年8月12日前一天被修改过的文件:时间是day:
find . -ctime -1
stat命令可查看文件a,c,m属性。
文件目录
[root@localhost 3]# tree .
.
.
├── 123
│ └── 3.jpg
├── media
│ └── No_Audit
│ └── 2014-12-18
│ ├── b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg
│ └── b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg.jpg
└── video
└── No_Audit
└── 2014-12-18
└── 4.jpg
第一个未添加""可查找完,但如果当前目录有jpg文件就无法正常查询完,所以find查找时最好添加上""。
[root@localhost 3]# find . -name *.jpg
./media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg.jpg
./media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg
./123/3.jpg
./video/test1/2014-12-18/4.jpg
[root@localhost 3]# touch 4.jpg
[root@localhost 3]# find . -name *.jpg
./video/test1/2014-12-18/4.jpg
./4.jpg
[root@localhost 3]# find . -name "*.jpg"
./media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg.jpg
./media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg
./123/3.jpg
./video/test1/2014-12-18/4.jpg
./4.jpg
除开某个文件夹,-prune -o满足条件的删除掉,剩余的打印出来
[root@localhost 3]# find /var/app/webapps/3 -path "/var/app/webapps/3/media" -prune -o -name *.jpg -print
/var/app/webapps/3/video/test1/2014-12-18/4.jpg
/var/app/webapps/3/4.jpg
需要排除的文件夹末尾不能接/
[root@localhost 3]# find /var/app/webapps/3/ -path "/var/app/webapps/3/media/" -prune -o -name *.jpg -print
/var/app/webapps/3/media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg.jpg
/var/app/webapps/3/media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg
/var/app/webapps/3/123/3.jpg
/var/app/webapps/3/video/test1/2014-12-18/4.jpg
排除多个文件夹\(添加转义
[root@localhost 3]# find /var/app/webapps/3 \( -path "/var/app/webapps/3/123" -o -path "/var/app/webapps/3/video" \) -prune -o -name "*.jpg" -print
/var/app/webapps/3/media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg.jpg
/var/app/webapps/3/media/test1/2014-12-18/b7e68f09-8d73-49b5-a58c-7ac36d2648d3.jpg