Linux 命令中 which、whereis、locate 命令的用法。

简介:

which 命令

which 命令的作用是,在 PATH 变量指定的路径中搜索可执行文件的所在位置。它一般用来确认系统中是否安装了指定的软件。

(1)命令格式

which  可执行文件名称

(2)常用范例

例一:确认是否安装了 gcc,可以使用如下命令:

which gcc

Alt text



whereis 命令

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 命令

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命令。











本文转自 hgditren 51CTO博客,原文链接:http://blog.51cto.com/phpme/1977474,如需转载请自行联系原作者
目录
相关文章
|
19天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
49 14
Linux 10 个“who”命令示例
|
8天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
75 20
|
8天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
32 7
|
28天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
33 9
|
26天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
4月前
|
安全 Linux 数据库
在Linux中,find命令和locate命令有什么区别?
在Linux中,find命令和locate命令有什么区别?
|
Linux 数据库
Linux命令(28)之locate
Linux命令(28)之locate
68 2
|
7月前
|
Linux Shell 数据库
linux(十九)查找文件的四个命令whereis、which、find、locate~
linux(十九)查找文件的四个命令whereis、which、find、locate~
118 0
|
Linux 数据库
【Linux命令200例】locate强大的文件查找利器
Linux 系统中一个用于快速查找文件的命令。它通过搜索数据库而不是实时搜索文件系统来定位文件,因此速度非常快。在比较大的文件系统中,locate比其他文件搜索命令如 find 和grep更加高效。
138 0
|
Linux 数据库
Linux基础命令--查找命令(which命令、find命令、locate命令)
Linux基础命令--查找命令(which命令、find命令、locate命令)
201 0
Linux基础命令--查找命令(which命令、find命令、locate命令)