which, whereis, locate, find的区别

which       查看可执行文件的位置,这些可执行文件都是在PATH环境变量中设置好的,所以which基本上都是查找可执行的文件

[[email protected] ~]# which yum
/usr/bin/yum

whereis    查看文件的位置

[[email protected] ~]# whereis [-bmsu] 文件或者目录名称 
参数说 明: 
-b : 只找二进制文件 
-m: 只找在说明文件manual路径下的文件 
-s : 只找source源文件 
-u : 没有说明文档的文件

更多的参数可以通过man whereis 来查看,

locate 文件或者目录名称

配合数据库查看文件位置,

和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。可以通过updatedb 来强制性更新本地的数据库
find   实际搜寻硬盘查询文件名称

参数也是很多,我经常用的就是

find / -name zabbix.conf

更多的参数可以参考下面 或者通过 man find

时间查找参数: 
-atime n :将n*24小时内存取过的的文件列出来 
-ctime n :将n*24小时内改变、新增的文件或者目录列出来 
-mtime n :将n*24小时内修改过的文件或者目录列出来 
-newer file :把比file还要新的文件列出来 
名称查找参数: 
-gid n       :寻找群组ID为n的文件 
-group name  :寻找群组名称为name的文件 
-uid n       :寻找拥有者ID为n的文件 
-user name   :寻找用户者名称为name的文件 
-name file   :寻找文件名为file的文件(可以使用通配符

时间: 2024-10-23 16:49:18

which, whereis, locate, find的区别的相关文章

linux文件名称查找which,whereis,locate

1. 文件名称查找 使用find查询时.因为磁盘查询.所以速度较慢. 所以linux下查询更常使用which, whereis, locate来查询,因为是利用数据库查询.所以速度非常快. 2. which 我们经常使用的ls命令.假设我们想知道这些经常使用命令放在哪儿. 就使用which命令来查询地址. which使用PATH 环境变量去查找文件名称, which -a 返回全部的查到的命令, 默认返回第一条. $ which grep /bin/grep $ which ll alias l

linux文件名查找which,whereis,locate

1. 文件名查找 使用find查询时,由于磁盘查询,所以速度较慢, 所以linux下查询更常使用which, whereis, locate来查询,由于是利用数据库查询,所以速度很快. 2. which 我们常用的ls命令,如果我们想知道这些常用命令放在哪儿, 就使用which命令来查询地址. which使用PATH 环境变量去查找文件名, which -a 返回所有的查到的命令, 默认返回第一条. $ which grep /bin/grep $ which ll alias ll='ls -

文件查找 /which/whereis/locate/find/grep

Which #查找固定的目录# [[email protected] home]# which ba /usr/bin/which: no ba in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) [[email protected] home]# which ls alias ls='ls --color=auto' /bin/ls 我们可以看到 whic

linux的查找命令 find whereis locate

Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利用数据库来查找数据,而find直接查找硬盘. 1 whereis whereis 命令只能用户程序名称的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m) 和源代码文件(参数-s). 如果省略参数,则返回所有信息.和find相比,whereis查找的速度非常快,这是因为linux系统

linux命令中which、whereis、locate有什么区别?

1.find find是最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: #find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和其子目录.如果不指定,则默认为当前目录. 指定条件:是指所要搜索的文件的特点. 指定动作:是指对搜索的结果如何处理. 常见选项: -name 根据文件名称查找(严格区分大小写,如果文件名中间有空格,则必须把文件名用双引号引起来) -iname 根据文件名查找(不区分大小写) -regex "PATT

Linux下的which,whereis,locate,find命令的区别

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:  which  查看可执行文件的位置. whereis 查看文件的位置.  locate   配合数据库查看文件位置. find   实际搜寻硬盘查询文件名称. 1.which  which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.1.命令格式: which 可

which whereis locate find 用法

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果. whereis whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. locate 配合数据库查看文件位置. find 实

linux下查找文件或目录(which,whereis,locate,find)

命令 查找对象 查找速度 备注 which 可执行文件  根据PATH变量的内容去寻找可执行文件  不同的PATH配置会有不一样的结果 whereis 程序名的搜索  根据数据库来寻找,速度快  只支持二进制文件,源代码,man手册 locate 文件或目录  根据数据库来寻找,速度快  更新数据库:$sudo updatedb find 文件或目录  在硬盘里寻找,速度慢  NA

Linux下各种查找命令(find, grep, which, whereis, locate)

find命令 find < path > < expression > < cmd > path: 所要搜索的目录及其所有子目录.默认为当前目录. expression: 所要搜索的文件的特征. cmd: 对搜索结果进行特定的处理. 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上. find命令常用选项及实例 -name 按照文件名查找文件. find /dir -name filename 在/