find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。
> find pathname -options [-print -exec -ok ...]
用于在文件树中查找文件,并作出相应的处理
n*24
小时访问的文件(如:cat)n*24
小时被改变文件状态的文件(如:修改文件的权限)n*24
小时被改变文件数据的文件(如:修改文件的内容)n有正负之分,n表示文件更改时间距离为n天(分钟), -n表示文件更改时间距离在n天(分钟)以内,+n表示文件更改时间距离在n天(分钟)以前。
mtime
为例子为什么
-mtime +1
表示文件修改时间为大于1天的文件,即距离当前时间48小时之外的文件,而不是24小时之外的呢?因为n值只能是整数,即比1大的最近的整数是2,所有-mtime +1
不是比当前时间大于1天(24小时),而是比当前时间大于2天(48小时)。
> find / -atime -1
> find / -mtime -1
> find / -mtime +1
.log
结尾的文件> find / -name *.log
> find / -size +100M
> find / -type f -size +100M -size -500M
> find / -type f -size +500M -delete
或
> find / -type f -size +500M -exec rm -rf {} \;
或
> find / -type f -size +500M | xargs rm
> find / -perm 777
> find / -empty -type f
原文链接:https://rumenz.com/rumenbiji/linux-find.html