美文网首页
Linux文件搜索命令

Linux文件搜索命令

作者: BlueSkyBlue | 来源:发表于2020-12-07 20:28 被阅读0次

    find

    命令所在路径:/bin/find
    执行权限:所有用户
    功能描述:文件搜索。
    语法:

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

    范例:

    find Au -name Sydney
    -iname:不区分大小写(在Linux系统中严格区分大小写)。
    -size:根据文件大小查找文件(+n 大于,-n小于,n等于)。
    这里的n代表的是数据块,也就是512字节,0.5k。
    #在根目录下查找大于100MB的文件
    find / -size +204800
    -user:根据所有者查找文件。
    find / -user root
    

    这里有一个问题。以上面的范例为例,搜索的结果中可能不仅包括Sydney,还会包括以Sydney开头的结果,例如Sydney1。

    根据时间属性查找:
    -amin:访问时间access。
    -cmin:文件属性change。
    -mmin:文件内容modify。

    +n:超过n分钟的。
    -n:在n分钟之内的。
    n:恰好是n分钟的。

    范例:

    #在/etc目录下查找5分钟内被修改过属性的文件或目录。
    find /etc -mmin -5
    

    -a:表示两个条件同时满足。
    -o:两个条件满足任意一个即可。
    -type:根据文件类型查找,f代表文件,d代表目录,l代表软链接文件。
    -exec/-ok:对搜索结果执行操作。最后需要以{} \;结尾。
    -exec和-ok的区别:-ok会提示用户是否执行exec的操作。
    -inum:根据i节点查找。
    范例:

    #在home目录下查找大于80M且小于100M的文件。
    find /home -size +163840 -a -size -204800
    #在home目录下查找以init开头的文件并列出详细信息。
    find /home -name init* -exec ls -l {} \;
    

    locate

    命令所在路径:/usr/bin/locate
    执行权限:所有用户
    功能描述:在文件资料库中查找文件。
    语法:

    locate 文件名

    范例:

    locate filename
    

    locate命令和find命令不同的地方在于,locate命令是在自己的文件资料库中查找文件。当我们使用touch命令创建文件的时候,使用locate命令无法查找的到,此时我们需要使用以下命令更新资料库。

    #用于更新文件资料库。
    updatedb
    

    不要再系统负载较高的时候使用find查找,此时应当使用locate。

    which

    命令所在路径:/usr/bin/which
    执行权限:所有用户
    语法:

    which 命令

    功能描述:搜索命令所在的目录及其别名信息。
    范例:

    which ls
    

    whereis

    命令所在路径:/usr/bin/whereis
    执行权限:所有用户
    功能描述:搜索命令所在路径以及帮助文档路径。
    语法:

    whereis [命令名称]

    范例:

    whereis ls
    

    grep

    命令所在路径:/bin/grep
    执行权限:所有用户
    功能描述:在文件中搜索字符串匹配的行并输出。
    语法:

    grep -iv [指定字符串] [文件]
    -i:不区分大小写。
    -v:排除指定字符串。

    范例:

    grep mysql /root/install.log
    

    相关文章

      网友评论

          本文标题:Linux文件搜索命令

          本文链接:https://www.haomeiwen.com/subject/hhfpwktx.html