linux文件查找

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_20981209/article/details/50812180

在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
展开阅读全文

没有更多推荐了,返回首页