which 命令的作用是,在 PATH 变量指定的路径中搜索可执行文件的所在位置。它一般用来确认系统中是否安装了指定的软件。
(1)命令格式
which 可执行文件名称
(2)常用范例
例一:确认是否安装了 gcc,可以使用如下命令:
which gcc
whereis 命令主要用于定位可执行文件、源代码文件、帮助文件在文件系统中的位置。whereis 命令还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
whereis 命令查找速度非常快,这是因为它根本不是在磁盘中漫无目的乱找,而是在一个数据库中(/var/lib/mlocate/)查询。这个数据库是 Linux 系统自动创建的,包含有本地所有文件的信息,并且每天通过自动执行 updatedb 命令更新一次。也正是因为这个数据库要每天才更新一次,就会使得 whereis 命令的搜索结果有时候会不准确,比如刚添加的文件可能搜不到。
(1)命令格式
whereis [选项] 文件
(2)常用参数
参数 | 描述 |
---|---|
-b | 定位可执行文件 |
-m | 定位帮助文件 |
-s | 定位源代码文件 |
-u | 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件 |
-B | 指定搜索可执行文件的路径 |
-M | 指定搜索帮助文件的路径 |
-S | 指定搜索源代码文件的路径 |
(3)常用范例
例一:搜索 gcc 可执行文件的路径,可以使用如下命令:
whereis -b gcc
例二:搜索 gcc 帮助文件的路径,可以使用如下命令:
whereis -m gcc
locate 命令跟 whereis 命令类似,且它们使用的是相同的数据库。但 whereis 命令只能搜索可执行文件、联机帮助文件和源代码文件,如果要获得更全面的搜索结果,可以使用 locate 命令。
locate 命令使用了十分复杂的匹配语法,可以使用特殊字元(如’*’和’?’)来指定需要查找的样本。
(1)命令格式
locate [选项] [搜索字符串]
(2)常用参数
参数 | 描述 |
---|---|
-q | 安静模式,不会显示任何错误讯息 |
-n | 至多显示 n 个输出 |
-r | 使用正规表达式做寻找的条件 |
-V | 显示版本讯息 |
(3)常用范例
例一:搜索 etc 目录下所有以 sh 开头的文件,可以使用如下命令:
locate php.ini
注意执行这个命令会报错:locate 无法执行 stat() ‘/var/lib/mlocate/mlocate.db’
:没有那个文件或目录。
解决办法是执行sudo updatedb
命令。
本文出自 “我的PHP之路” 博客,请务必保留此出处http://phpme.blog.51cto.com/663593/1977474
Linux 命令中 which、whereis、locate 命令的用法。
原文地址:http://phpme.blog.51cto.com/663593/1977474