美文网首页我爱编程程序员
Linux查找文件 whereis locate

Linux查找文件 whereis locate

作者: 学习编程王同学 | 来源:发表于2018-06-08 21:29 被阅读9次

    Linux下查找文件可以使用whereislocatefind这些命令,其中find命令最古老且功能最强,但是它比较耗时。whereislocate命令搜索文件较快,同时功能也比较简单。

    本文仅介绍whereislocate的用法,find命令在后续的文章介绍。

    whereis

    事实上,whereis命令仅搜索特定类型的文件:二进制可执行文件、说明文档、源文件和其他特殊文件。

    whereis命令的语法简单介绍如下:

    whereis [-bm] name...
    

    whereis name搜索文件名为name的特定类型的文件:

    $ whereis ifconfig
    ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
    

    上面的命令找到了名为ifconfig的特定类型的文件,其中第一个是二进制可执行文件,第二个是说明文档。

    whereis -b name搜索文件名为name的二进制可执行文件:

    $ whereis -b cat
    cat: /bin/cat
    

    上面的命令找到了名为cat的二进制可执行文件。

    $ whereis -m cat
    cat: /usr/share/man/man1/cat.1.gz
    

    使用-m命令选项可以搜索说明文档类型的文件,上面的命令找到命令cat的说明文档。

    locate

    locate命令在一个数据库中通过文件名查找文件,所以其查找速度很快。

    在Ubuntu 16.04中,使用下面的命令安装该软件:

    $ sudo apt install mlocate
    

    该命令的数据库不会实时更新,一般情况下是一天更新一次,当然也可以手动更新数据库:

    $ sudo updatedb
    

    locate命令的常用语法如下:

    locate [-irc] name...
    

    可以使用它直接搜索文件:

    $ locate now.txt
    /home/tom/now.txt
    $ locate now.txt Now.txt
    /home/tom/newSNow.txt
    /home/tom/now.txt
    /home/tom/homework/newNow.txt
    

    这里执行了两次搜索,第一次搜索文件名中包含now.txt的文件,第二次搜索文件名包含now.txt和文件名包含Now.txt的文件。

    使用-i命令参数忽略大小写:

    ~$ locate -i now.txt
    /home/tom/newSNow.txt
    /home/tom/now.txt
    /home/tom/homework/newNow.txt
    

    使用-c命令参数显示总数,而不是罗列文件:

    $ locate -ic now.txt
    3
    

    使用-r命令参数使用正则表达式,下面的命令搜索所有文件名以w.txt结尾的文件:

    $ locate -r "w.txt$"
    

    相关文章

      网友评论

        本文标题:Linux查找文件 whereis locate

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