iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下which、whereis、locate、find的区别有哪些
  • 372
分享到

Linux下which、whereis、locate、find的区别有哪些

2023-06-07 23:06:30 372人浏览 泡泡鱼
摘要

小编给大家分享一下linux下which、whereis、locate、find的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!我们经常在Linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面

小编给大家分享一下linux下which、whereis、locate、find的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

我们经常在Linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面的一些命令来搜索。

which      查看可执行文件的位置 
whereis    查看文件的位置 
locate     配合数据库查看文件位置 
find       实际搜寻硬盘查询文件名称

1、which

语法: which 可执行文件名称 
例如: 
[root@redhat ~]# which passwd 
/usr/bin/passwd 
which是通过 PATH 环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件

2、whereis

语法: whereis [-bmsu] 文件或者目录名称 
参数说明: 
-b : 只找二进制文件 
-m: 只找在说明文件manual路径下的文件 
-s : 只找source源文件 
-u : 没有说明文档的文件 
例如: 
[root@redhat ~]# whereis passwd 
passwd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz
将和passwd文件相关的文件都查找出来

[root@redhat ~]# whereis -b passwd 
passwd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd 
只将二进制文件 查找出来

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

3、 locate

语法: locate 文件或者目录名称 
例 如:

[root@redhat ~]# locate passwd /etc/passwd/etc/passwd-/etc/cron.daily/passwd/etc/init/passwd.conf/etc/init.d/passwd/etc/pam.d/chpasswd/etc/pam.d/passwd/etc/security/opasswd…………

4、 find

语法: 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的文件(可以使用通配符) 
例如:

[root@redhat ~]# find / -name zgz /home/zgz /home/zgz/zgz /home/WEBlogic/bea/user_projects/domains/zgz /home/oracle/product/10g/cfgtoollogs/dbca/zgz /home/oracle/product/10g/cfgtoollogs/emca/zgz /home/oracle/oradata/zgz
[root@redhat ~]# find / -name '*zgz*' /home/zgz /home/zgz/zgz1 /home/zgz/zgzdirzgz /home/zgz/zgz /home/zgz/zgzdir /home/weblogic/bea/user_projects/domains/zgz /home/weblogic/bea/user_projects/domains/zgz/zgz.log00006 /home/weblogic/bea/user_projects/domains/zgz/zgz.log00002 /home/weblogic/bea/user_projects/domains/zgz/zgz.log00004 /home/weblogic/bea/user_projects/domains/zgz/zgz.log /home/weblogic/bea/user_projects/domains/zgz/zgz.log00008 /home/weblogic/bea/user_projects/domains/zgz/zgz.log00005

当我们用whereis和locate无法查找到我们需要的文件时,可以使用find,但是find是在硬盘上遍历查找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用whereis和locate。

总结:

which     只能查可执行文件和别名(alias) ,并在PATH变量里面寻找
whereis   只能查二进制文件(含可执行文件)、说明文档,源文件等,从linux文件数据库(/var/lib/slocate/slocate.db 或 /var/lib/mlocate/mlocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件
locate    在数据库里查找,数据库大至每天更新一次,文件名是部分匹配(见 3 locate passwd 的结果:opasswd)
find      最强大,什么都能查,根据条件查找文件,在硬盘上查找,效率很低

看完了这篇文章,相信你对“Linux下which、whereis、locate、find的区别有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网操作系统频道,感谢各位的阅读!

--结束END--

本文标题: Linux下which、whereis、locate、find的区别有哪些

本文链接: https://www.lsjlt.com/news/250476.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下which、whereis、locate、find的区别有哪些
    小编给大家分享一下Linux下which、whereis、locate、find的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!我们经常在Linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面...
    99+
    2023-06-07
  • Linux下which、whereis、locate、find有什么区别
    这篇文章给大家分享的是有关Linux下which、whereis、locate、find有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是Linux系统Linux是一种免费使用和自由传播的类...
    99+
    2023-06-12
  • Linux下find和grep命令有哪些区别
    这篇文章将为大家详细讲解有关Linux下find和grep命令有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个...
    99+
    2023-06-09
  • SQL中where子句与having子句的区别有哪些
    这篇文章主要介绍了SQL中where子句与having子句的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Wh...
    99+
    2024-04-02
  • SQL中过滤条件放on和where中的区别有哪些
    这篇文章主要介绍SQL中过滤条件放on和where中的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!join过程可以这样理解:首先两个表做一个笛卡尔积,on后面的...
    99+
    2024-04-02
  • MySQL left join操作中on和where放置条件的区别有哪些
    这篇文章给大家分享的是有关MySQL left join操作中on和where放置条件的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。优先级两者放置相同条件,...
    99+
    2024-04-02
  • MySQL数据库中执行extra中的using index 和 using where 的区别有哪些
    这篇文章将为大家详细讲解有关MySQL数据库中执行extra中的using index 和 using where 的区别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
    99+
    2024-04-02
  • Linux下Fotoxx和Macrofusion有哪些区别
    本篇内容主要讲解“Linux下Fotoxx和Macrofusion有哪些区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下Fotoxx和Macrofusion有哪些区别”吧!Foto...
    99+
    2023-06-12
  • Linux下find命令的使用方法有哪些
    这篇文章主要介绍“Linux下find命令的使用方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下find命令的使用方法有哪些”文章能帮助大家解决问题。Linux find 命令用...
    99+
    2023-06-27
  • gnu与linux的区别有哪些
    这篇文章主要讲解了“gnu与linux的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“gnu与linux的区别有哪些”吧!“gnu/linux”与linux的区别:1、“gnu/l...
    99+
    2023-07-02
  • uclinux和linux的区别有哪些
    这篇文章主要讲解了“uclinux和linux的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“uclinux和linux的区别有哪些”吧!区别:1、uclinux采用存储器的分页管...
    99+
    2023-06-30
  • FreeBSD和Linux的区别有哪些
    小编给大家分享一下FreeBSD和Linux的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!FreeBSD描述历史FreeBSD的***个版本发布于19...
    99+
    2023-06-16
  • Unix和Linux的区别有哪些
    今天小编给大家分享一下Unix和Linux的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是 Unix?在 I...
    99+
    2023-06-27
  • solaris和linux的区别有哪些
    本篇内容主要讲解“solaris和linux的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“solaris和linux的区别有哪些”吧!区别:1、Linux用于移动端和嵌入式设备,So...
    99+
    2023-06-29
  • linux和ucos的区别有哪些
    这篇文章主要介绍了linux和ucos的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。区别:1、ucos是一个基于ROM运行的实时操作系统,而Linux是一个基于P...
    99+
    2023-06-25
  • linux与dos的区别有哪些
    这篇文章主要介绍“linux与dos的区别有哪些”,在日常操作中,相信很多人在linux与dos的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux与dos的区别有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-22
  • linux和vxworks的区别有哪些
    今天小编给大家分享一下linux和vxworks的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。linux和vxw...
    99+
    2023-07-02
  • linux下信号量和互斥锁的区别有哪些
    这篇文章主要讲解了“linux下信号量和互斥锁的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下信号量和互斥锁的区别有哪些”吧!linux下信号量和互斥锁的区别是:1、信...
    99+
    2023-06-29
  • linux nc和telnet的区别有哪些
    今天小编给大家分享一下linux nc和telnet的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2023-02-08
    linux telnet nc
  • git下commit和push的区别有哪些
    这篇文章主要介绍git下commit和push的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!区别:“git commit”命令是将本地修改过的文件提交到本地库中,而“git push”命令是将本地库中的最...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作