1. /var/lib/mlocate/mlocate.db 2.因为依赖于事先构建的索引,而索引是系统在闲时自动进行的,管理员需要手动更新(updatedb)。 locate的特点:查找速度快 模糊查找 非实时查找 搜索的是文件的全路径,不仅仅是文件名 可能只搜索用户具备读取和执行权限的目录 基本语法: -i :不区分大小写的搜索 -n :N 只列举前N个匹配项 -r :使用基本正则表达式 示例 搜索名称或路径中带有“conf”的文件 locate conf 使用Regex来搜索以“.conf”结尾的文件 locate -r ‘.conf$’ 由于locate是搜索系统索引,在一般生产环境中使用较少。
find特点: 1.查找速度快 2.精确查找 3.实时查找 4.可能只搜索用户具备读取和执行权限的目录 基本语法: find 【option】...【查找路径】【查找条件】【处理动作】
-print :默认的处理动作,屏幕打印输出 -ls : 列举出匹配的文件 -delete :删除操作,删除过程不提示比较危险 -fls file :查找到的文件保存到文件中,类似于重定向 -exec command {} \;:对查找到的文件执行command 指定的命令 ,对于使用这种命令一定要记得后面加 \; {} :用于引用查找到文件的文件名称自身
由于很多命令不支持管道|来传递参数,xatgs用于产生某个命令的参数。 当然也有很多命令不能接受过多的参数,命令执行可能会失败,xargs都可以解决 例子: ls | xargs rm :删除当前目录下大量的文件 echo f{1..52222220} | xargs touch :创建大量的文件 find -type f -name “*.txt” -print0 | xargs -0 rm 以字符nul分隔