find,locate,whereis,which查找命令
网上搜了一些搜料,整理了出来,不是特别全
find 是直接在硬盘上搜寻,功能强大,你可以用它找到任何你想找的文件。
$ find <指定目录> <指定条件> <指定动作>
实例:
#查找指定目录下的test文件 find ./mydroid/frameworks/ -name "test" #查找指定目录下以test开头的文件,并且显示它们的详细信息 find ./mydroid/frameworks/ -name "test*" -ls #查找当前目录下,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录 find . -type f -mmin -10
#查找/home/XXX/android2.3目录下的build文件夹
find /home/XXX/android/ -name "build" -type d
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令 。
which grep
显示:
/bin/grep
whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。由于它是从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件。
whereis grep whereis -b grep whereis -m grep whereis -s grep
依次显示:
grep: /bin/grep /usr/share/man/man1/grep.1.gz
grep: /bin/grep
grep: /usr/share/man/man1/grep.1.gz
grep:
locate:locate命令其实是“find -name”的另一种写法,它和whereis一样都是从数据库(/var/lib/slocate/slocate.db)这样要比find快的多。在使用locate和whereis之前最好能先updatedb,这个需要root的权限呢。
#搜索用户主目录下,所有以m开头的文件,并且忽略大小写。 $ locate -i ~/m