find、locate、whereis、which和type

1. find

$ find . -name '*'

2. locate
很快速的搜寻档案系统内是否有指定的档案,比find要快很多
其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库(/var/lib/locatedb),而不必实际深入档案系统之中了

# locate /root/hbu8.0/bin/h

搜索/root/hbu8.0/bin/目录下(绝对路径),所有以h开头的文件

如果报错:

locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

解决办法:

# updatedb

选项:

-o<文件>:忽略默认的数据库文件,使用指定的slocate数据库文件
-U<目录>:更新指定目录的slocate数据库
-v:显示执行的详细过程

updatedb 命令不会自动更新新挂载的磁盘,需要-U指定一下新挂载的磁盘

3. whereis
找到指定文件的源、二进制文件和手册等各部分

# whereis -b hbu-fd
  • -b 搜索文件的二进制部分
  • -m 搜索文件的手册部分
  • -s 搜索文件的源部分
  • -u 没有说明文档的文件

4. which
在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,搜索系统命令执行的到底是哪一个位置的命令

# which sh

5. type
用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的

# type cd

使用-p参数,相当于which命令

# type -p cd
posted @ 2015-08-10 18:36  thomas_blog  阅读(95)  评论(0编辑  收藏  举报