zoukankan      html  css  js  c++  java
  • Linux学习日志--文件搜索命令

    开头总结:

                 学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的差别和使用方法格式,什么是path环境变量以及其优点,whereis和which的使用方法,差别在于查询系统命令内容的不同,grep和find的差别。为什么要引入通配符? 什么情况下用通配符还是正則表達式?

    Locate文件搜索命令:

    1)格式:

       Locate [文件名称]

    2)更新数据库

            updatedb

    优点:

    相对于find命令来说。Locate耗费资源比較少。搜索速度快。

    原理:

    locate搜索文件名称是在指定的后台数据库下搜索,通常是/var/lib/mlocate文件夹下,可是数据库是一天一次更新,所以你今天新建的文件。用locate找不到。可是能够updatedb命令强制更新,就能够找到了。

        而find命令是在文件系统上总体遍历。所以速度比較慢,耗费资源大。

    命令搜索命令 whereis which(两者非常像)

             :仅仅能搜索系统命令

    1)

    比如:whereis ls 

     显示的是ls的位置和ls的帮助文档的位置。

    2)

    加了-b以后 就是仅仅看ls的位置 不看帮助文档的位置

       Whereis -b ls

    3)

    加了-m以后 仅仅看帮助文档的位置 不看Ls的位置

    Where -m ls


    Which 看到命令的位置和别名(也有例外)  看不到命令的帮助文档。

    4)什么是path环境变量?

      就是定义的系统命令搜索的路径。 

      这种优点?

     输入命令。就不用在指定其所在的绝对路径。以后写好的脚本命令。就能够放在path中,直接用。

    Path中定义了路径。(手工就不用在输入据对路径了,由于在path中配置了)在打ls时 会在这些路径中找,找到了会运行其命令的功能,找不到会显示找不到的信息,Command not found

     

    Find命令(很强大的命令)

    1)格式

    find [搜索范围][搜索条件]



    在根文件夹下 搜索名字为install.log的文件。(耗费资源比較大 由于在个文件夹下搜索)

    2)通配符     什么是通配符?

                     为了进行模糊查询而诞生的符号

    *   匹配随意内容

    ?   匹配随意一个字符

    []   匹配随意一个中括号内的字符

    匹配install.log后面随意字符的文件和匹配全部文件



             

      

      匹配 全部前面随意以g结尾的文件

       




    3)不区分大写和小写进行匹配

     Find  /root -iname install.log

    注意一点: find是进行的全然匹配 就是查找的和原文件必须是一个名字,假设要进行模糊查询,那么就要用到通配符。

    4)全部者文件和垃圾文件

    一般的。我们把没有全部者的文件成为垃圾文件。须要手工清除。

    用到命令:

    Find /root -nouser(经常使用)

    可是内核产生和外来的(u盘)文件除外。

    5)按文件大小进行查找
    find  /root  -size 25k

    找等于25k的文件

     Find /root  -size +25k

    找大于25K的文件

    Find /root  -size -25k

    找小于25k的文件

    6)按文件的节点序号查询

     Find -inode 26543

    寻找节点为26543的文件。

    7)扩展

     Find /root -size +20k -a -size --50k

    -a是逻辑与  找大于20k而且小于50k文件。

    Find /root -size +20k -a -size -50k -exec ls lh {};

    将找到的文件的具体结果显现出来 

    标准格式:
    -exec  [命令]  {};

    Grep字符串搜索命令:(包括匹配)

     1)  grep [选项字符串  要查找文件

     2)  -v 是查找不包括字符串的文件的内容   

     3)  -i  是不区分大写和小写

    Grepfind的差别:

    1)Find命令在系统其中搜索符合条件的文件。而grep命令在文件里搜索与字符串符合的内容;

    2)find命令要想匹配,须要用通配符。通配符是全然匹配。

    Grep使用正則表達式进行匹配,是包括匹配。      

    3)什么时候用通配符还是正則表達式?

    假设匹配是文件的名称。那么就用通配符。假设搜索的是文件的内容,那么就应该用正則表達式。





  • 相关阅读:
    正则表达式
    git指令
    前端测试 Jest/(Mocha) Typescript/Javascript Vueunitstest
    mpvue使用wxcharts.js显示各类图表
    css margintop 失效
    reduce 黑科技
    vue cli 项目创建
    css实现垂直水平居中
    MySQL基础教程之存储过程
    4组Alpha冲刺2/6
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6902694.html
Copyright © 2011-2022 走看看