find 按文件修改时间查找文件
查找文件
1
2
3
4
5 1 ---(+n)----------|----------(n)----------|----------(-n)---
2 (n+1)*24H前| (n+1)*24H~n*24H间 |n*24H内
3
4
5
-ctime -n 查找距现在 n*24H 内修改过的文件
-ctime n 查找距现在 n*24H 前, (n+1)*24H 内修改过的文件
-ctime +n 查找距现在 (n+1)*24H 前修改过的文件
[a|c|m]min [最后访问|最后状态修改|最后内容修改]min
[a|c|m]time [最后访问|最后状态修改|最后内容修改]time
linux 文件的三种时间
(以 find 为例):
atime 最后一次访问时间, 如 ls, more 等, 但 chmod, chown, ls, stat 等不会修改些时间, 使用 ls -utl 可以按此时间顺序查看;
ctime 最后一次状态修改时间, 如 chmod, chown 等状态时间改变但修改时间不会改变, 使用 stat file 可以查看;
mtime 最后一次内容修改时间, 如 vi 保存后等, 修改时间发生改变的话, atime 和 ctime 也相应跟着发生改变.
注意: linux 里是不会记录文件的创建时间的, 除非这个文件自创建以来没有发生改变, 那么它的创建时间就是它的最后一次修改时间.
#ls -lt /home/admin # 按修改时间顺序查看
#ls -lut /home/admin # 按访问时间顺序查看
(如果想反序查看的话需要加一个选项 -r)
==========
find 命令有几个用于根据您系统的时间戳搜索文件的选项。这些时间戳包括
1
2
3
4 1mtime 文件内容上次修改时间
2atime 文件被读取或访问的时间
3ctime 文件状态变化时间
4
1
2 1 mtime 和 atime 的含义都是很容易理解的,而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据,因此,如果与文件有关的元数据发生变化,则 inode 数据也将变化。这可能是由一系列操作引起的,包括创建到文件的符号链接、更改文件权限或移动了文件等。由于在这些情况下,文件内容不会被读取或修改,因此 mtime 和 atime 不会改变,但 ctime 将发生变化。
2
这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。
1
2
3
4
5
6
7 1N * 24
2+1 表示 1 * 24 +24小时以外..
3+0 表示 0 * 24 +24小时以外
41 表示 1 * 24 + 24 到 24 之间..
50 表示 0 * 24 + 24 到 0 之间..
6-1 表示 0 * 24 +24 内,甚至为未来时间...
7
1.当前时间24小时—当前时间(昨天-今天)
#find . -mtime 0
2.当前时间48小时前–当前时间24小时前(前天-昨天)
#find . -mtime 1
3.当前时间48小时前(2天前)
#find . -mtime +1
4.当前时间24小时–当前时间(昨天-今天)
#find . -mtime -1
查找文件并删除
主要有两个中方式:
find. -name "*.bak" | xargs rm-Rf
find. -name "*.bak" -exec rm -Rf {} ;
注意:
-exec 的语句后必须要加;
xargs必须要跟管道一起使用.
差别:
1、exec 每处理一个文件或者目录,它都需要启动一次命令,效率不好;
2、exec 格式麻烦,必须用 {} 做文件的代位符,必须用 ; 作为命令的结束符,书写不便。
3、xargs是把所有找到的文件名一股脑的转给命令。当文件很多时,这些文件名组合成的命
令行参数很容易超长,导致命令出错。
4、xargs 不能操作文件名有空格的文件;
删除3天内的文件
1
2 1find . -maxdepth 4 -name "*-*" -mtime 3 | sudo xargs rm -r
2
-maxdepth的值决定是否对下面的子目录进行递归查找
-mtime 3表示查找3天内的,-mtime +3表示查找超过3天的,也就是查找3天前的文件
删除指定大小的文件
1
2 1find . -size -50c -name "*-*" | sudo xargs rm -r
2
-size的值 -50c 表示小于50bytes +50c表示大于50bytes
-size后面数字字符参考 :
1
2
3
4
5
6
7 1b : 512byes blocks
2c : bytes 一个字节
3w : 双字节
4k : 1kb
5M : 1 兆
6G : 1 G
7