Linux下文件查找工具介绍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下文件查找工具介绍相关的知识,希望对你有一定的参考价值。
文件查找工具- locate
- find
locate: 查询系统预建的文件索引数据库
1. /var/lib/mlocate/mlocate.db
2.因为依赖于事先构建的索引,而索引是系统在闲时自动进行的,管理员需要手动更新(updatedb)。
locate的特点:查找速度快
模糊查找
非实时查找
搜索的是文件的全路径,不仅仅是文件名
可能只搜索用户具备读取和执行权限的目录
基本语法:
-i :不区分大小写的搜索
-n :N 只列举前N个匹配项
-r :使用基本正则表达式
示例
搜索名称或路径中带有“conf”的文件
locate conf
使用Regex来搜索以“.conf”结尾的文件
locate -r ‘.conf$’
由于locate是搜索系统索引,在一般生产环境中使用较少。find 实时查找工具
find特点:
1.查找速度快
2.精确查找
3.实时查找
4.可能只搜索用户具备读取和执行权限的目录
基本语法:
find 【option】...【查找路径】【查找条件】【处理动作】 - 查找条件
a.指搜索层级
-maxdepth level 最大搜索目录深度
-mindepth level 最小搜索目录深度
b.根据文件名和inode查找:
-name “文件名称”
-iname "文件名称":不区分大小写字母
-inum n :按inode号查找
-samefile name :相同inode号的文件
-links n :链接数为n的文件
c.根据属主,属组查找:
-user username:查找属主为指定UID的文件
-group grpname:查找属组文指定GID的文件
-uid userid:查找数主为指定UID的文件
-gid groupid:查找属组为指定GID的文件
-nouser :查找没有属主的文件
-nogroup :查找没有属组的文件
d.根据文件类型查找
-type type
f:普通文件
d: 目录文件
l:符号链接文件
s:套接字文件
b:块设备文件
c:字符设备文件
p:管道文件
-empty :查找空文件和目录
e.组合条件
与 : -a
或 : -o
非 : -not !
f.根据文件大小来查找文件
-size 【+|-】
g.根据时间查找
h.根据权限查找
-perm [/|-]MODE
MODE:精确权限匹配
/MODE:任何一类(u,g,o)对象中只要有一位匹配即可 或关系
-MODE:每一位对象都必须同时匹配 与关系处理动作
-print :默认的处理动作,屏幕打印输出
-ls : 列举出匹配的文件
-delete :删除操作,删除过程不提示比较危险
-fls file :查找到的文件保存到文件中,类似于重定向
-exec command {} \;:对查找到的文件执行command 指定的命令 ,对于使用这种命令一定要记得后面加 \;
{} :用于引用查找到文件的文件名称自身参数替换xargs
由于很多命令不支持管道|来传递参数,xatgs用于产生某个命令的参数。
当然也有很多命令不能接受过多的参数,命令执行可能会失败,xargs都可以解决
例子:
ls | xargs rm :删除当前目录下大量的文件
echo f{1..52222220} | xargs touch :创建大量的文件
find -type f -name “*.txt” -print0 | xargs -0 rm 以字符nul分隔
以上是关于Linux下文件查找工具介绍的主要内容,如果未能解决你的问题,请参考以下文章