locate find
非实时查找locate
实时查找find
locate
依赖于事先构建的索引:
索引的构建是在系统较为空闲时自动进行的(周期性任务);手动更新数据库特别慢
索引构建过程需要遍历整个根文件系统,及其消耗资源
工作特点:
1查找速度快
2,模糊查找
3非实时查找;非精确查找
locate KEYWORK
find
速度慢;精确查找;实时查找
-name 可以用通配符
-iname 不区分大小写
-regex "pattern"
-nouser
-nogroup 无属组的文件,很危险,应该删除或者增加属组
-type TYPE 根据文件类型
组合 与或非 -a -o -not !
!A -a !B = !(A -o B)
!A -o !B =!(A -a B)
根据大小
-size +-#
根据时间
天-+# a/c/mtime 访问 改变 修改的时间
分-+# a\c\mmin
根据权限
-perm [-|+]mode
mode 精确比配
+mode 只要有一个就可以匹配
-mode 必须都要匹配 意思是大于等于 666 < 766当前文件 就可以匹配
处理动作
-print
-ls
-delete 删除找到的文件
-fls /path/to/sw 将找到的文件的长格式信息保存至指定文件
-ok COMMAND {}\; 对查到的文件执行COMMAND 指定的命令
这个ok 是需要确定输入yes\no
-exec COMMAND {}\; 不要求用户确认
例如 -not -perm +222 因为 +是或的意思 加上了not 也就是 都没有写权限的文件
-not 会把 且 或互换