您的位置:首页 > 运维架构 > Linux

linux-which,loacate,whereis,type:查找[文件|文件内容|命令]

2012-07-24 15:03 441 查看

在linux中查找[文件|文件内容|命令]有多种方法



Linux的五个查找命令:find,locate,whereis,which,type

2,locate ——用于查找文件(在文件索引数据库中搜索文件)

locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

2.1,命令格式:

locate <文件名称>

2.2,命令举例:

$ locate /etc/sh

搜索etc目录下所有以sh开头的文件。

  $ locate ~/m

搜索用户主目录下,所有以m开头的文件。

  $ locate -i~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

3,whereis ——用于查找程序名

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

3.1,命令格式:

whereis <程序名称>

3.2,命令举例:

  $ whereis grep

查找命令grep的位置

3.3,详细解释:

查找软件的安装路径

-b 只查找二进制文件

-m 只查找帮助文件

-s 只查找源代码

-u 排除指定类型文件

-f 只显示文件名

-B <目录> 在指定目录下查找二进制文件

-M <目录> 在指定目录下查找帮助文件

-S <目录> 在指定目录下查找源代码


4,which ——用于查找系统命令

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

4.1,命令格式:

which <系统命令>

4.2,命令举例:

  $ which grep

查找命令grep的位置

5,type ——用于查找系统命令

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

5.1,命令举例:

  $ type cd

系统会提示,cd是shell的自带命令(build-in)。

  $ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。

  $ type -pgrep

加上-p参数后,就相当于which命令。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: