根据时间查找
-mtime 文件内容修改时间
-ctime 文件i结点被修改时间 (内容修改会导致i结点变动时间,但i结点变动不一定会导致内容修改时间改变,比如修改文件属性,修改i结点改动时间但不改变内容修改时间)
-atime 文件上次访问时间
+n 在n*24小时外
-n 在n*24小时内
n 恰好n*24小时
例如查找在一天内修改过的文件,只需要 find -mtime -1即可,如果-1换成+1便成为查找在一天前修改过的文件
-amin
-mmin
-cmin
同理,此参数n的单位是分钟。
所以要查找在2分钟前到6分钟前修改过的文件,需要命令 find -mmin +2 -mmin -6 (2分钟开外6分钟之内)
根据文件名查找
-name 大小写敏感
-iname 大小写不敏感
find -name '*h' 查找所有以h结尾的文件
find -name '*.(h|c|cpp|hpp)' 查找所有以h or cpp or c or hpp 结尾的文件
根据大小查找
-size
单位有c(byte)k(kilobyte)m(megabyte)g(gigabyte),默认是b(512byte)
可以用+ - 来指定是大于还是小于
find -size +1k 找出当前目录下所有大小比1k大的文件
根据与另一文件时间比较
-newer
-cnewer
-anewer
分别表示修改、inode修改、访问
find -newer test.txt
先于test.txt文件修改的文件
根据用户名、组名查找
-user username 查找所有属于username的文件
-group
查找空文件
-empty
例如要删除所有空文件 find -empty -exec rm -rf {} \;
对查找结果执行命令
-exec 命令 \;
其中命令中{}代表find的查找结果
最后 \表示禁止转义 ;表示结束
设置查找level
-maxdepth
默认情况下是查找当前目录下所有文件(包括所有子目录及子目录的子目录),可以用此值来表示递归访问的最大深度。
值为1 时在当前目录下
值2 为可以进入子目录,但不可进入子目录的子目录
依次类推。。