四个查找命令find,locate,whereis,which的区别

which

只能在PATH变量里面寻找“可执行文件”。

 

whereis

只能找二进制文件、可执行文件、帮助文档,源文件等,默认情况下只在某些目录下查找,但是可以指定查找路径:whereis -B /usr/include/python/ -f ifconfig

 

locate(常用)

从数据库中找,速度快且能查所有文件,查之前先用updatedb更新一下数据库。以下是几个和该命令有关的文件:

/etc/cron.daily/mlocate  每日系统会自动更新数据库,所以会有延时

/etc/updatedb.conf  updatedb的配置文件

PRUNE_BIND_MOUNTS: 否进行限制搜索
PRUNEFS: 要排除的文件系统
PRUNENAMES: 排除指定后缀的文件
PRUNEPATHS: 排除指定的路径

/var/lib/mlocate/mlocate.db (不同发行版位置可能不一样,/var/lib/slocate/slocate.db,/var/cache/locate/locatedb)。至于如何查看这个文件,可以用hexdump -c mlocate.db,具体不展开,自行Google吧

 

find(常用)

直接在硬盘上找,所以比较慢。最常用的命令就是find / -name FILENAME

 

posted @ 2016-02-03 13:34  dongdonggeorge  阅读(1243)  评论(0编辑  收藏  举报