四.Linux系统中文搜索命令

***文件搜索命令locate
     **locate命令格式
        *格式:locate 文件名
        在后台数据库中按文件名搜索,搜索速度更快
        
        */var/lib/mlocate
        #locate命令所搜索的后台数据库


        *updatedb
        更新数据库
    优点:速度快
    缺点:只能搜索文件


***命令搜索命令whereis与which
    **搜索命令的命令whereis
        *格式:whereis 命令名
        #搜索命令所在路径及帮助文档所在位置
        选项:
            -b:只查找可执行文件
            -m:只查找帮助文件
   缺点: 只能搜索系统命令的所在位置,而不能搜索所创建的普通文件


    **搜索命令的命令which
    其用法跟whereis类似,只是它不仅可以查出系统命令的所在位置,还会查出该系统命令的别名
    因此该连个命令的搜索是依赖于Linux下的定义的PATH即环境变量


***文件搜索命令find
        *格式:find [搜索范围]  选项 [搜索条件]
        #搜索文件
        #避免大范围搜索,会非常耗费系统资源
        #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
        
        **扩展:Linux系统中的通配符
            *    匹配任意内容
            ?    匹配任意一个字符
            []    匹配任意一个中括号内的字符
        **选项:
            -name :按文件名字查找
            -iname:按文件名查找,不区分大小写
            -user:按所有者搜索
            -nouser:查找没有所有者的文件
            -atime:按文件访问时间
            -mtime:按修改文件内容时间
            -ctime:按文件属性
            -size:按文件大小
            -inum:按文件的i节点


    **扩展:find的复杂操作
        *eg:find /etc -size +20k -a -size -50k
        #查找/etc/目录下,大于20kb并且小于50kb的文件
        -a and 逻辑与,两个条件都满足
        -o or 逻辑或,两个条件满足一个即可


        *eg:find /etc -size +20k -a -size -50k -exec ls -lh {} \;
        #查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息
        #-exec/-ok 命令 {} \;对搜索结果执行操作


***字符串搜索命令grep
        **格式:grep [选项] 字符串 文件名
        #在文件当中匹配符合条件的字符串
        选项:
            -i:忽视大小写
            -v:排除指定字符串


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


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


你可能感兴趣的:(四.Linux系统中文搜索命令)