find 查找文件

来源:互联网 发布:广角变焦镜头淘宝 编辑:程序博客网 时间:2024/05/22 04:55

根据时间查找

-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 为可以进入子目录,但不可进入子目录的子目录
依次类推。。
原创粉丝点击