linux下有两个常用的查找工具locate、find<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
locate基于数据库查找,模糊查找。由于数据库一般定时更新,所以对于还没来得及查找的内容,locate不能查找的到。但是他的-e 选项可以实现更新查找,当然效率较低
而find是实时查找,精确查找。
updatedb命令可以重新生成数据库,更新的内容可以在/etc/updatedb.conf 中定义
locate的几个有用的选项:-i 忽略大小写;-n 显示前几个匹配 如-n 10 只显示前十个匹配到的;-e      做exist存在查找;-r 选项还支持基本正则表达式,
 如locate –r  “\<issue\>”
除此之外—regex 还支持扩展正则表达式
如:locate –regex “\<issue \| passwd\>”
find是比locate更强大的查找工具,可以再指定的目录下作精确的查找,find的语法如下:
 find 【options】 【path】 【conditions】 【action】
在省略条件时find会把所有项目查找出来然,如果只是这样也还算一般,而find的强大不仅在于他可以查找,而在于他还可以对查找的对象执行相应的命令操作。如ls,通过-exec选项可以直接执行命令,-ok选项也可以执行命令,而且-ok选项还是交互式的执行命令。
你还可以通过管道 | xargs 【options】来执行更多的操作。要注意的是-ok、-exec后的命令
要以  \; 结尾   还可以使用{}占位符可以用来代表每一个find到的文件,相当于反向引用。
下面再介绍几个非常有用的find选项
-name、-user、-nouser、-group、-nogroup、-perm、-uid、-gid、-type、-size
-name  很显然就是按文件的名字查找,而且这是会严格区分大小写的,如果想要忽略大小写查找文件可以使用-iname,还有一个-lname,这个是查找链接文件的。需要注意的是文件名中有空格时需要使用引号把空格括起来,有通配符时也要把整个文件引起来。
-user  顾名思义就是根据文件的属主查找,但是-nouser 却是要查找没有属主的文件
-group 当然是根据文件属组查找,而-nogroup也就是查找没有属组的文件了。或许你会很疑惑,如果有这么多的条件,可不可以一起使用呢,当然可以,默认情况下多个条件罗列是与关系,find支持逻辑关系与-a、或-o、非 –not和!这三者的优先级是   非>与>或  举个例子:如果想要查找/etc下的 既不属于root用户也不是passwd的文件,就可以用 find /etc/ -not –user root –a –not –name “passwd”
也可以使用 find /etc/ -not \( -user root –o –name “*passwd*’\)
其实要记住的是德摩根定律!(a&&b)= !a || !b  和  !(a|| b)= !a&&!b
文件还可以根据权限查找-perm而权限查找有三种模式:
-perm mode           精确匹配权限
-perm /mode          文件权限模型中三类用户只要有一个权限位包含对应位上的权限就可以
-perm –mode         三类用户都至少要有一位能匹配到要查找到权限就可以查到。
需要注意的是,当匹配位含有0时,此位不用检查。
find查找文件的方法多种多样,我们还可以按文件的uid,gid号查找,按文件类型搜索-type
find ,/ -type d 按文件目录搜索。 -size按文件大小查找。需要注意的是再按文件大小查找时,文件大小的单位 b 是512bit 、c是byte字节、K是Kb  M :Mb、G 是gb
 如在当前目录下查找大小为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2M的文件就可以用   find ./ size 2M  
此外还可以使用+ 和— 来表示大于小于指定大小的文件,单位很重要,指的是查找的最小单位所有小于此单位的文件都被视为最小的值。
虽然很琐碎,但这也正是find强大的体现,还有一些也较为常用的find选项如按存取时间查找-atime文件最后一次被读取时间(按天) 、-mtime文件数据最后一次被读取(按天)、-ctime文件数据或元数据最后一次改变时间(按天)。如果你认为按天计算这个时间太长,你还可以对应的使用-amin、-mmin、-cmin按照分钟匹配搜索。甚至你还可以使用-newer-older选项来查找。
记住:文件的元数据包含所有的时间戳,都可以使用stat 命令来手工查看。
 

转载于:https://blog.51cto.com/huakaihuaxie/352045

文件查询工具locate和find相关推荐

  1. excel多文件查询工具

    excel多文件查询 下载地址 1.功能 1.excel多文件查询 支持查询当前目录及子目录所有excel 支持直接选择xslx文件 支持过滤后导出 2.便签功能 支持设置定时任务, 设置文字描述, ...

  2. linux c 文件查找字符串,Linux基础之文件查找工具:locate、find

    引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息.如果我们不满意搜索结果可以进一步精确我们 ...

  3. linux常用命令、linux系统、linux属于什么操作系统、linux系统安装、linux怎么读、linux和windows的区别、linux配置ip地址、linux系统一般用来,在线查询工具

    linux vi编辑器常用命令 linux 查看ip linux find -name 查找文件名 linux shell linux 查看端口占用 linux 删除文件命令 linux cp命令复制 ...

  4. Centos7安装pt-query-digest慢查询工具与实践

    Centos7安装pt-query-digest慢查询工具与实践 安装 确认MySQL配置 使用 常用命令 安装 1)下载percona-toolkit 工具包 wget percona.com/ge ...

  5. 文件查找命令 locate 和 find 详解

    文件查找命令 locate 1.locate 简介 2.locate 命令格式 find 1.find 简介 2.语法格式 2.1 查找条件 2.1.1 根据文件名查找 2.1.2 根据文件从属关系查 ...

  6. 文件查找(locate、find)

    文件查找 在文件系统中查找符合条件的文件 文件查找:locate,find 非实时查找(数据库查找):locate 实时查找:find locate 查询系统上预建的文件索引数据库 /var/lib/ ...

  7. Linux文件查找工具的探索

    经过 Linux 系统不断探索,不断发展到现代文明,我们都必须坚信:一个典型的 Linux 系统是包含很多文件的,即是由文件组成的!那么新的问题就会涌现到我们的脑海中--"我们如何查找呢?& ...

  8. Linux文件查找工具之find “大宝剑”--转载

    原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...

  9. 一款功能强大的IP查询工具

    01 Fav-up Fav-up是一款功能强大的IP查询工具,该工具可以通过Shodan和Favicon(网站图标)来帮助研究人员查询目标服务或设备的真实IP地址. 02 工具安装 首先,该工具需要本 ...

最新文章

  1. ios小项目——新浪微博客户端总结
  2. 生物计算论文笔记1:The construction of next-generationmatrices for compartmentalepidemic models
  3. wireshark 如何修改抓包时间日期显示格式?
  4. java 二维数组作为参数传递_java JNI 二维数组作为方法参数传递给本地
  5. MySQL数据库select语句的使用方法
  6. windows常用指令
  7. linux 占用缓存前10_Ogre的不足与改进(Ogre2.0设计方案)-1.缓存优化
  8. github桌面版_GitHub 上周 JavaScript 趋势榜项目
  9. x12arima季节调整方法_又到了戴贝雷帽的季节,不同发型的佩戴方法,让你秒变时髦精...
  10. Python3 学习第十二弹: 补充something
  11. tensorflow之 feature_column + pre-made estimator组合实战
  12. 2018年4月自考感想
  13. NCBI|线粒体基因组数据上传
  14. netbeans java中文_netbeans中文乱码解决方案
  15. 限时活动|凭徽章领披萨大奖,玩转Moonbeam治理论坛
  16. 电脑蓝屏critical_process_died,重装win10遇到的问题
  17. 有助睡眠的方法有哪些?睡不着,这些方法就能帮到你
  18. 一周一个小朋友系列——YOLOV1 paper Analysis
  19. VUE的十一个生命周期详解
  20. DNAT(目的地址转换)-IP映射和端口映射

热门文章

  1. java if switch 效率_Java中 switch-case 如何优化?
  2. docker部署minio
  3. SpringBoot枚举传参
  4. 推荐一个提供干货的java公众号
  5. php判断邮箱是否合法性,php验证邮箱地址合法性
  6. 集成git怎样更新代码_持续集成之理论篇
  7. ajax异步后台存放购物车表,jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)...
  8. Mysql进阶(1)——异步复制(主从复制、Gtid复制)、半同步复制
  9. php 标准输出到文件格式,php格式输出文件var_export函数实例
  10. 粒子追踪 matlab,用粒子滤波器实现的多目标跟踪代码