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分隔

原文地址:https://blog.51cto.com/13449039/2399827

时间: 2024-08-11 05:44:01

Linux下文件查找工具介绍的相关文章

Linux下文件查找

linux文件查找 find 文件查找 locate 文件查找:在文件系统上查找符合条件的文件 locate 依赖于事先构建好的索引库     查询系统上预建的文件索引数据库     /var/lib/mlocate/mlocate.db 系统自动实现,周期性任务. 手动创建跟新数据库(updatedb,非常消耗系统资源) 慎用! 工作特性:     查找速度快     模糊查找     非实时查找,可能文件已经有变动或不存在     locate [option]...PATTERN...  

Linux下文件查找与定位

Linux下一切皆文件,但是文件由于文件的属性的不同,在查找上可以针对不同的文件做相应的查找以便加快查询速度和减少资源的消耗. 1 .   which 命令[可执行文件的查找,系统文件中检索]:此命令是查找显示可执行命令的路径和别名,通过查找可以确定在/sbin . /usr/sbin. /usr/bin .哪个目录下, 是在系统和用户环境变量中存在的目录文件中查找的. 参数 解释 --all,  -a Print all matching executables in  PATH, not j

linux 下文件恢复工具extundelete介绍

下载 http://extundelete.sourceforge.net/ bunzip2 extundelete-0.2.0.tar.bz2 tar xvf extundelete-0.2.0.tar cd extundelete-0.2.0 make make install [[email protected] yzn]# df文件系统               1K-块        已用     可用 已用% 挂载点/dev/sda3             18129292  

Python实现Linux下文件查找

1 import os, sys 2 3 4 def search(curpath, s): 5 L = os.listdir(curpath) #列出当前目录下所有文件 6 for subpath in L: #遍历当前目录所有文件 7 if os.path.isdir(os.path.join(curpath, subpath)): #若文件仍为目录,递归查找子目录 8 newpath = os.path.join(curpath, subpath) 9 search(newpath, s)

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

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

linux系统下文件查找

在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器: 1,locate:非实时查找(基于预先生成的数据库查找):模糊匹配:速度快 2,find:实时查找(遍历目录中的所有文件完成查找):精确匹配,支持众多查找标准:速度慢 一.locate 查询系统上预先生成的文件索引数据库:/var/lib/mlocate/mlocate.db 依赖于事先构建的索引:索引的构建是在系统较为空闲时自动进行(周期性任务) 管

Linux 系统的下文件查找

Linux 系统下文件查找 1.which (1)作用:用于查找并显示给定命令的绝对路径 (2)语法:which(选项)(参数) (3)案例: [[email protected] ~]# which cd       #查找cd命令的路径 /usr/bin/cd [[email protected] ~]# which cp       #查找cp命令的路径 alias cp='cp -i' /usr/bin/cp 2.whereis (1)作用:来定位指令的二进制程序.源代码文件和man手册

Linux文件查找工具之find “大宝剑”

一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库. find:     find命令用来在指定目录下查找文件,通过遍历指定的

Gnu Linux下文件的字符编码及转换工具

/*********************************************************************  * Author  : Samson  * Date    : 07/03/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************