• Linux 之 搜索


    locate - 文件名搜索命令

             用于查找文件

             格式为:locate 文件名

             该命令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件的文件或目录。

             因为该命令是直接在数据库内搜索(/var/lib/mlocate为locate所搜索的数据库,发型版本不同,文件名可能有所不同),而不是遍历整个硬盘,所以搜索速度较快。

             但由于数据库不是实时更新的,所以缺点是新建的文件会搜索不到,可使用updatedb命令来更新数据库。

             需要注意locate的配置文件/etc/updatedb.conf:

       

             PRUNE_BIND_MOUNTS 等于yes时候,下面三个规则全部生效,等于no时候,下面三个规则全不生效。

             PRUNEFS 不搜索的文件系统

             PRUNENAMES 不搜索的文件后缀

             PRUNEPATHS 不搜索的路径

    whereis、which - 命令搜索命令

             whereis

             格式为:whereis,命令名   

             用于查找命令所在的路径和其帮助文档所在路径,其只能搜索系统命令,而不能用户自己创建的文件。

            

             which

             格式为:which 文件名

             which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

                     

            

    find - 文件搜索命令

             格式为:find [搜索范围] [搜索条件]             

             find命令支持使用通配符

                       *       匹配任意内容

                       ?     匹配任意一个字符

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

             搜索条件:

                       -name name    查找名称为name的文件

                       -iname name   查找名称为name的文件,不区分大小写

                       -user root         查找所有者为root的文件

                       -nouser    搜索没有所有者的文件

                       -mtime     修改文件内容时间

                       -ctime       修改文件属性时间

                       -atime      文件访问时间

                                -[x]time -10      十天内

                                -[x]time 10        十天当天

                                -[x]time +10     十天前

                       -size

                                -size -25k          小于25k的文件

                                -size 25k            等于25k的文件

                                -size +25k                   大于25k的文件

                       -inum 262242  查找i节点为262242的文件

                       -exec 命令2 {};      跟在命令1之后,命令1的执行结果交给命令2来执行

             find命令的条件可以使用-a(and)和-o(or)来逻辑连接两个条件来搜索文件

    grep - 字符串搜索命令

             格式为:grep [选项] 字符串 文件名

             在文件中匹配复合条件的字符串

             选项:

                       -i       忽略大小写

                       -v      排除指定字符串

    find和grep的区别

             find命令:在系统当中搜索符合条件的文件,如果需要匹配,使用通配符匹配,通配符是完全匹配

             grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配

             所以我们要搜索文件名时,使用find+通配符,但当我们搜索文件内容时,使用grep+正则表达式

    整理自:慕课网(www.imooc.com)

  • 相关阅读:
    UVA
    UVA
    模板——扩展欧几里得算法(求ax+by=gcd的解)
    UVA
    模板——2.2 素数筛选和合数分解
    模板——素数筛选
    Educational Codeforces Round 46 (Rated for Div. 2)
    Educational Codeforces Round 46 (Rated for Div. 2) E. We Need More Bosses
    Educational Codeforces Round 46 (Rated for Div. 2) D. Yet Another Problem On a Subsequence
    Educational Codeforces Round 46 (Rated for Div. 2) C. Covered Points Count
  • 原文地址:https://www.cnblogs.com/xs104/p/4616407.html
Copyright © 2020-2023  润新知