内容目录
find
命令按照指定的条件来查找文件,可以使用文件的特性作为查找条件(比如文件名,文件大小,文件权限,修改时间,权限等),一旦查找成功,则将信息打印出来,格式为:find 查找路径 查找条件 操作
查找路径:可以为相对目录,也可以为绝对目录
查找条件:参考下面的表
参数 | 作用 |
---|---|
-name | 匹配名称 |
-perm | 匹配权限( mode 为完全匹配,-mode 为部分包含即可) |
-user | 匹配所有者 |
-group | 匹配所属组 |
-mtime -n +n | 匹配修改内容的时间(-n 指n天以内,+n 指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n 指n天以内,+n 指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n 指n天以内,+n 指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比f1 新但是比f2 旧的文件 |
--type b/d/c/p/l/f | 匹配文件类型(后面的字母依次表示为设备块,目录,字符设备,管道,链接文件,文本文件) |
-size | 匹配文件大小(+10kb表示查找超过10kb的文件,-10kb表示小于10kb的文件) |
-prune | 忽略某个目录 |
-exec ... {} \; | 后面可用于进一步处理搜索结果的命令 |
注意:ctime并不是文件的创建时间,而且Linux默认不保存文件的创建时间,但是有些系统保存文件的创建时间。
下面演示一些常用用法
查找当前目录下的所有.txt文件并复制到txt目录下面
find
.
-name
'*.txt'
-type f -exec cp {} ./txt \;
查找7天前被访问过的文件
find . -atime +7
查找10分钟内访问过的文件
find . -amin -10 -type f
查找比file1修改时间更新的文件
find -type f -newer file1
查找比file1修改时间更老的文件
find -type f -newer !file1
查找文件大小超过10k的文件(可用的单位有 b块,c字节,w字,k千字节,M兆字节,G)
find . -type f -size +10k
查找权限为755的文件
find . -perm 755 -type f
查找文件并删除
find . -type f -name '*.txt' -delete
-exec ... {} \;
参数是重点,其中{}
表示find命令搜索出的每一个文件,并且命令的结尾必须是\;
0 条评论
撰写评论