Linux文件查找

作者: AwesomeAshe | 来源:发表于2016-03-06 19:28 被阅读54次

    在linux下搜索文件只需要几行简单的命令就搞定了,不过不同的指令其功能也是不一样的,使用的时候要灵活选择。

    • whereis 简单快速
    whereis <filename>
    

    直接从数据库查询,但是只能搜索二进制文件bin,man帮助文档,源代码文件-s

    • locate 快&全
      通过/var/lib/mlocate.db 数据库查找。
      不过这个数据库不是实时更新的,系统会使用定时任务每天自动执行updatedb 更新一次,所以刚添加的文件要手动执行一次updatedb 才能找得到。

    它可以用来查找指定目录下的不同文件类型,比如查找/etc下所有sh开头的文件 :

    locate /etc/sh
    

    它不只会在etc目录下查找并且会自动递归子目录进行查找

    又比如查找某目录下所有jpg文件:

    locate /usr/share/\*.jpg
    
    • which shell内建的一个命令。通常使用which来确定是否安装了某个指定的软件,因为它只从PATH路径去搜索
    which man
    
    • find功能最强大也最复杂
      可以通过文件类型,文件名,文件属性(时间,权限)进行搜索
      基本格式:
    find <path> <option> <action>
    

    比如和时间相关的一些命令:

    -atime //last access time
    -ctime //created time
    -mtime //last edit time
    

    -mtime 参数举例:

    -mtime n    //edited the day n days ago 
    -mtime +n   //edited n days ago excluding nth day
    -mtime -n   //edited n days ago including nth day
    
    -newer <file>   //edited newer than <file>
    

    e.g.:

    find ~ -mtime 0
    

    24小时内有改动

    find ~ -newer /home/user/code
    

    相关文章

      网友评论

        本文标题:Linux文件查找

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