Linux下查找相关命令主要有以下4个:which、whereis、locate、find,外加一个关键字行搜索grep

4个命令的比较如下表所示:

一、最常用的搜索命令:find

注意:Linux搜索和windows是有明显区别的,Linux严格区分文件大小写。
1.1、根据 文件或目录名称 搜索

  •   find 【搜索目录】【-name或者-iname】【搜索字符】:-name和-iname的区别一个区分大小写,一个不区分大小写
  •   find /etc -name init   (精准搜索,名字必须为 init 才能搜索的到)
  •   find /etc -iname init   (精准搜索,名字必须为 init或者有字母大写也能搜索的到)
  •   find /etc -name *init  (模糊搜索,以 init 结尾的文件或目录名)
  •   find /etc -name init??? (模糊搜索,? 表示单个字符,即搜索到 init___) 

1.2、根据 文件大小 搜索
  比如:在根目录下查找大于 100M 的文件
  find / -size +204800
  这里 +n 表示大于,-n 表示小于,n 表示等于
  1 数据块 == 512 字节 ==0.5KB,也就是1KB等于2数据块
  100MB == 102400KB==204800数据块
  
1.3、根据 所有者和所属组 搜索
  ①、在home目录下查询所属组为 root 的文件
    find /home -group root
  ②、在home目录下查询所有者为 root 的文件
    find /home -user root
1.4、根据 时间属性 搜索
  find 【路径】【选项】【时间】
   选项有下面三种:-amin  访问时间last visit minite
           -cmin   文件属性被更改create
           -mmin  文件内容被修改modify
  时间:+n,-n,n分别表示超过n分钟,n分钟以内和n分钟
  范例:在 /etc 目录下查找5 分钟内被修改过属性的文件和目录
     find /etc -cmin -5
1.5、根据 文件类型或i节点 搜索
  -type 根据文件类型查找:f表示文件,d表示目录,l表示软链接
  范例:查找 /home 目录下文件类型是目录的   find /home -type l
  -inum 根据i节点查找
  范例:查找 /tmp 目录下i节点为400342的文件或目录  find /tmp -inum 400342  
1.6、组合条件 搜索  
  这里有两个参数:
  ①、-a  表示两个条件同时满足(and)
  ②、-o  表示两个条件满足任意一个即可(or)
  范例:查找/etc目录下大于80MB同时小于100MB的文件
  find /etc -size +163840 -a -size -204800

二、在文件资料库中查找文件命令:locate 

 作用:find files by name from one or more databases prepared by updatedb. 同whereis指令一样,也是从数据库建立的索引中查找,不同的是该命令查找所有部分匹配的文件,使用之前可以使用updatedb命令手动更新数据库。
   原理:默认情况下(当filename中不包含通配符*),locate会给出所有与*filename*相匹配的文件的路径。
   适用场合:没有文件类型性质的模糊查找(你只记得某个文件的部分名称)

语法:locate【文件名】
        -i  不区分大小写


  注意:这里和 find 命令是有区别的,find是全盘检索,而locate 是在文件资料库中进行搜索。所以locate命令的执行要比find命令执行速度快很多。但是这里有个问题,文件资料库是需要不断更新的。我们新创建的文件如果不更新 文件资料库,使用 locate 是查找不到的。
  updatedb  手动更新资料库,但是对于/tmp目录下的新建文件,是更新不到文件资料库的,因为/tmp目录不属于文件资料库的收录范围。 
  

三、搜索命令所在的目录及别名信息:which

作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径
           原理:执行which命令时,which会在当前环境变量PATH中依次寻找能够匹配所找命令名字的可执行文件名,不加-a选项,返回第一个匹配的可执行文件的路径,否则依                        次返回满足条件的所有可执行文件的路径名。
           适用场合:一般用于查找命令/可执行文件所在的路径。有时候可能在多个路径下存在相同的命令,该命令可用于查找当前所执行的命令到底是哪一个位置处的命令。


  

四、搜索命令所在的目录及帮助文档路径:whereis

​​​​作用:locate the binary, source, and manual page files for a command.即:定位/返回与指定名字匹配的二进制文件、源文件和帮助手册文件所在的路径。
          原理:whereis命令首先会去掉filename中的前缀空格和以.开头的任何字符,然后再在数据库(var/lib/slocate/slocate.db)中查找与上述处理后的filename相匹配的二进                         制文件、源文件和帮助手册文件,使用之前可以使用updatedb命令手动更新数据库。
          适用场合:二进制文件、源文件和帮助手册文件路径的查找。


  

注:whereis 和 which 的功能差不多,用法也是后面跟一个要查找的命令,都是用来查找命令文件的。查找结果除了显示命令所在的命令以外,where 不会列出要查找的命令的别名相关的信息,而是会列出这个命令的帮助文档所在的目录。

五、在文件中搜寻字符串匹配的行并输出:grep

功能描述:在文件中搜寻字符串匹配的行并输出
  语法:grep -iv 【指定字符串】【文件】
        -i 不区分大小写
        -v 排除指定字符串
    范例:查找 /root/install.log 文件中包含 mysql 字符串的行,并输出
    grep mysql /root/install.log
  在 Linux 的配置文件中,「#」代表注释,如果我想看配置文件的内容,但是不想看注释,就可以在搜索文件内容时排除「#」所在的行。就可以这样做:grep -v [#] /etc/inittab 或者 grep -v ^# /etc/profile (不显示以#开头的行)

摘自:https://blog.csdn.net/u010625000/article/details/44455023

Linux常用命令之搜索命令相关推荐

  1. LInux常用的60个命令,小白必须掌握的命令

    login 1.作用 login的作用是登录系统,它的使用权限是所有用户. 2.格式 login [name] [-p][-h 主机名称] 3.主要参数 -p:通知login保存现在的环境参数. -h ...

  2. Linux 常用的二十个命令

    Linux 常用的二十个命令 文章目录 Linux 常用的二十个命令 ctrl + L Is pwd cd **认识 Linux 目录结构** 命令提示符 **绝对路径 vs 相对路径** touch ...

  3. 史上最全的Linux常用——目录和文件管理命令——收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用--目录和文件管理命令--收藏这一篇就够了!(超全,超详细) Linux目录结构 命令 查看文件内容:-cat 查看文件内容:-more 查看文件内容:-less 查看文件内容 ...

  4. Linux常用而且好玩的命令

    Linux常用而且好玩的命令 关于date其实不需要多做解释,看看上面的图应该就可以理解 %Y表示年 %m表示月 %d表示日 %H表示时 诸如此类,有时间我们会校对时间,这时就会用的ntp服务,忘记的 ...

  5. Linux常用命令--文件搜索命令

    本文主要记录Linux常用命令中的文件搜索命令,如下. 文件搜索命令locate 命令搜索命令 whereis 与which 文件搜索命令 find 字符串搜索命令grep find命令与grep的区 ...

  6. linux常用基础命令——文件搜索命令

    不管是Linux系统还是Windows系统最好是少用搜索,在服务器规划时就规划好文件的存放,不要随便瞎放,因为搜索功能会占用大量的系统资源.如果实在要查找,不要在服务器业务高峰期进行此操作,查找的目录 ...

  7. Linux学习4之常用命令--文件搜索命令

    一.文件搜索命令  find 语法:find [搜索范围] [匹配条件]  {find [搜索范围] [搜索模式] [搜索条件]} 1.以文件名来查找  -name(区分大小写)-iname (不区分 ...

  8. [Linux学习笔记] Linux常用命令 - 文件搜索命令

    2019独角兽企业重金招聘Python工程师标准>>> 文件搜索命令 1. 显示系统命令所在目录: which 命令名称: which 命令所在路径: /usr/bin/which ...

  9. Linux常用的文本查找命令 find

    一.常用的文本查找命令 grep.egrep命令 grep:文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,先是能够被模式匹配到的行.后面跟正则表达式,让grep工具相当强大.-E之后还支 ...

最新文章

  1. axure 导入元件库显示不出白框_AXURE免费元件库分享-web
  2. windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)...
  3. 关于虚函数的应用(10个例子)
  4. python库迁移到没有网的电脑_python实现数据库跨服务器迁移
  5. 安装cleanmymac软件提示已损坏无法打开,如何解决?
  6. 6.GD32F103C8T6 定时器的基本使用
  7. 揭秘ASP.NET 2.0的Eval方法
  8. 1、linux网络服务实验 用PuTTY连接Linux
  9. 多元线性回归dw值_SPSS教程10:多元线性回归
  10. 纹理坐标不在[0,1]内时的纹理效果
  11. 数学建模常用的分析法及其MATLAB实现
  12. 模型类中的常用字段类型
  13. Premiere Pro之经典类转场
  14. 中国电信物联网平台入门学习笔记2: DOME程序分析
  15. 【将Cityscape和Foggy_Cityscape转换为PASACAL VOC格式的目标检测数据集】
  16. 如何做系列(5)-james mail安装总结
  17. u盘安装系统win2019服务器系统,U盘启动装WIN10系统教程,U盘安装WIN2019方法,UltraISO将Windows server 2016/2019安装盘ISO写入U盘进行安装...
  18. dw01均衡电路_电池平衡电路工作原理
  19. spring boot网上眼镜商场毕业设计-附源码241659
  20. Android渠道包构建流程

热门文章

  1. 你看到的是乱,我看到的是月亮,如是而已。
  2. python运行代码不成功_命令行执行python模块时提示包找不到的问题
  3. 前端_什么是页面重构
  4. 产品经理经典面试题or笔试题
  5. 酷家乐如何使用 Istio 解决新服务治理系统(Serverless)接入已有成熟自研 Java 服务治理体系...
  6. 学习MySQL看这一篇就够了
  7. Ubuntu18 的超详细常用软件安装
  8. 互联网金融诈骗不缺受害者, 有人刚被3M坑了又投入CA
  9. Debian9的各个版本的下载地址
  10. 人事考试在线报名系统新突破,一键触达“智慧考试”