文件查找之locate、whereis与find

locate

非实时,模糊匹配,根据文件系统的数据库进行查找;

updatedb:生动生成文件数据库,这个数据库会在每天固定的时间自动生成,也可以用此命令手动生成。

  1. /var/lib/mlocate/mlocate.db
  1. yum install -y mlocate

locate命令其实是find -name的另一种写法

whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

whereis [ -sbmu ] [ -SBM dir ... -f ] name...

-b:只查找二进制文件;

-B<目录>:只在设置的目录下查找二进制文件;

-f:不显示文件名前的路径名称;

-m:只查找说明文件;

-M<目录>:只在设置的目录下查找说明文件;

-s:只查找原始代码文件;

-S<目录>只在设置的目录下查找原始代码文件;

-u:查找不包含指定类型的文件。

find

实时、精确、支持众多查找标准

find 查找路径 查找标准 查找后进行的处理动作

查找路径:默认为当前目录

查找标准:默认为指定路径下的所有文件

处理动作:默认为显示

查找标准

-name “FILENAME“:对文件名进行精确匹配

-iname ”FILENAME“:对文件名进行匹配,不区分大小写

-regex PATTERN:基于正则表达式进行文件查找

-user USERNAME:基于文件的属主进行查找

-group GROUPNAME:基于文件的属组进行查找

-uid UID:基于文件的UID进行查找

-gid GID:基于文件的GID进行查找

注意:删除一个用户,属于这个用户属主文件将只保留UID号

-nouser:没有属主

-nogroup:没有属组

-type:指定文件类型
-size:指定文件大小

[=|-]#10k

[=|-]#10m

[=|-]#10g

find -size 10k

会匹配9k~10k之间的内容

对文件时间的查找

单位为天

-atime

-mtime

-ctime

单位为分钟

-amin

-mmin

-cmin

对文件权限进行查找

-perm MOOD精确匹配

-perm -MOOD文件权限完全包含MOOD才匹配

-perm /MOOD任意一位匹配即可

组合查找

-a:默认,可省

-o:或者

-not:

find /tmp -not -user user1 -o -type d等价于find /tmp -not \(-user user1 -a -type d\)

动作

-print:显示(默认)

-print0:不换行显示

-ls:类似于ls -l

-ok COMMAND {} \;每一次操作都需要用户确认

例子:find -atime +5 -ok mv {} {}.old \;

-exec COMMAND  {} \;不需要用户确认

例子:find -atime +2 -exec mv {} {}.old \;

{}文件名占位符

-path PATH :指定路径

-prune:删除

除去某一路径
  1. find /usr/sam      -path "/usr/sam/dir1" -prune      -o -print
  2. find [PATH EXPREESION]-a [PATH EXPREESION] -a [PATH EXPREESION] -o [PATH EXPREESION]

这个表达式组合特例可以用伪码写为

  1. if -path "/usr/sam";then
  2. -prune
  3. else
  4. -print
  5. fi

来自为知笔记(Wiz)

时间: 2024-10-10 02:43:56

文件查找之locate、whereis与find的相关文章

Linux 系统之文件查找工具--- locate、 find详解

一.学习Linux为什么要学习文件查找工具? 作为Linux爱好者,或者Linux运维人员经常会遇到要查找某个或者某一类文件的问题,但对于"一切皆文件"的Linux系统来说,如何能够在成千上万的文件中快速精确的定位到我们所需的文件,对我们来说是至关重要的.因此,熟练掌握并运用Linux系统下的文件查找命令是我们快速定位的关键. 本文着重介绍Linux环境下的locate.find文件查找工具 二.文件查找工具locate使用详解 2.1.locate - find files by n

【Linux相识相知】文件查找(locate/find)

在用linux操作系统的时候,当我们忘记之前某个文件存储的位置,但是知道其文件名或者模糊的知道其文件名,我们都可以通过文件查找工具来查找,linux提供两种常用的查找工具,locate和find,在日常使用中后者比前者较前者功能更强大更具有实时性,下面我们就这两种工具来谈一谈她们的使用方法. Locate locate是基于实现构建好的索引库(索引库可以理解成文件路径的集合),索引库的位置放在/var/lib/mlocate/mlocate.db文件里面,系统一般一天会自动更新一次,也可以使用u

文件查找工具locate与find

写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How. 本篇主要内容: ● locate用法 ● 使用find基于文件属性进行查找 locate与find简介: locate与find都是文件查找工具(区别与grep等文本查找工具),尤其是find,可根据文件的诸多属性(如文件大小.属主属组.权限信息.修改时间等),对文件进行实时查找 locate: 1.查找默认数据库文件/var/lib/mlocate/mlocate.db,所以查找速度快,非实时,每天

#14 文件查找之locate与find

文件查找:按照文件名或文件属性来搜索文件: locate: 模糊查找:不区分大小写,不做关键字的定位: 基于专用的数据库进行查找,数据库应该事先创建,并且定期更新: 可以使用updatedb命令手动更新locate数据库: 查找速度非常快,查找精确度非常有限: find: 精确查找: 查找精度高,速度慢: 在指定的位置进行文件名或文件属性的遍历扫描:强烈不建议对根目录进行find操作: 实时查找: 使用find命令只能搜索当前用户具有读取和执行权限的目录: find命令: find - sear

几种文件查找命令,whereis ,find ,locate.

whereis对于文件的查找,是将系统内的所有文件放在一个数据库文件里.whereis 和 locate 都是以该数据库为准的(由于每个数据库会有一个更新时间,一般在更新时间之后才可以找到).而find却是直接查找硬盘里的数据.

linux命令:find文件查找工具 locate命令查找

     find命令简介: 实时.精确.支持众多查找标准 遍历指定目录中的所有文件完成查找,速度慢: 1.命令格式: locate filename 直接跟需要查找的文件  eg locate passwd  系统文件数据库中所有 包含passwd的文件. find 查找路径 查找标准 查找到以后的处理动作  查找路径:默认为当前目录  查找标准:默认为指定路径下的所有文件  处理动作:默认为显示到屏幕上 eg:find /etc -name passwd  表示在etc目录下查找名字为pas

Linux文件查找之locate与find

大纲 一.locate命令 二.find命令 三.locate与find优缺点对比 四.find实例 一.locate

linux文件查找(find,locate)

文件查找: locate: 非实时,模糊匹配,查找是根据全系统文件数据库进行的: # updatedb, 手动生成文件数据库 速度快 find: 实时 精确 支持众多查找标准 遍历指定目录中的所有文件完成查找,速度慢: find 查找路径 查找标准 查找到以后的处理运作 查找路径:默认为当前目录 查找标准:默认为指定路径下的所有文件 处理运作:默认为显示 匹配标准: -name 'FILENAME':对文件名作精确匹配 文件名通配: *:任意长度的任意字符 ? [] -iname 'FILENA

Linux学习总结(11)——Linux文件查找

Linux下的常用查找命令 locate whereis which find locate -i, 忽略大小写 find 根据文件名或正则表达式搜索 -name 条件限制 -a 与条件 -o 或条件 -not 非条件(此参数的功能类似于否定参数'!') <code class="hljs lasso has-numbering" style="display: block; padding: 0px; box-sizing: border-box; white-spa