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

2023-10-27

http://blog.chinaunix.net/uid-20554039-id-3035417.html

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。
which       查看可执行文件的位置
whereis    查看文件的位置
locate       配 合数据库查看文件位置
find          实际搜寻硬盘查询文件名称

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

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

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

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

3、 locate
语法:
[root@redhat ~]# locate 文件或者目录名称
例 如:
[root@redhat ~]# locate passwd
/home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_DB_war/DB.war/jsp/as/user/passwd.jsp
/home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_admin_war/admin.war/jsp/platform/passwd.jsp
/lib/security/pam_unix_passwd.so
/lib/security/pam_passwdqc.so
/usr/include/rpcsvc/yppasswd.x
/usr/include/rpcsvc/yppasswd.h
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/rpcsvc/yppasswd.ph
/usr/lib/kde3/kded_kpasswdserver.la
/usr/lib/kde3/kded_kpasswdserver.so
/usr/lib/ruby/1.8/webrick/httpauth/htpasswd.rb
/usr/bin/vncpasswd
/usr/bin/userpasswd
/usr/bin/yppasswd
…………

4、 find
语法:
[root@redhat ~]# 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。
locate 是在数据库里查找,数据库大至每天更新一次。
whereis 可以找到可执行命令和man page
find 就是根据条件查找文件。
which 可以找到可执行文件和别名(alias)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下which、whereis、locate、find 命令的区别 的相关文章

  • linux如何运行ipynb文件_怎么在Jupyter里打开ipynb文件

    方法一 1 在使用Anaconda集成环境安装TensorFlow时 里面自带安装 Jupyter 安装完成后 打开开始菜单找到Anaconda3 64 bit 点击Anaconda Prompt 类似windows的命令行工具 2 在命令
  • QT怎么发送带结构体数据的信号?

    当发送的信号是结构体时 第一步 定义一个结构体 并在包含该结构体的类里面注册该结构体 通过此方法Q DECLARE METATYPE T 第二步 作为信号输出时 不能直接传结构体 要先包装一下结构再传出去 接收时 也要拆开包装 才能拿到数据
  • docker 镜像/容器的打包、导出、导入

    目录 一 将变动过的容器打包生成新的镜像 二 对镜像进行导出导入 1 将镜像导出为一个镜像img文件 2 将img镜像文件导入 复制出一个完全一样镜像 三 对容器进行导入导出 1 将容器导出为一个镜像tar文件 2 将镜像tar文件导入 生

随机推荐

  • vuejs项目纯js导出word、在线下载富文本内容或者网页另存为word文件

    所有前端导入导出方法集合 前端必备技能知识 JS导出Blob流文件为Excel表格 Vue js使用Blob的方式实现excel表格的下载 流文件下载 勤动手多动脑少说多做厚积薄发 CSDN博客 js文件流导出excel表格效果 重点 a
  • 【有奖调研】

    2022年 区块链价值被不断挖掘 成为Web3 元宇宙 数字藏品等众多产业的基石 我们面向广大开发者以及区块链爱好者发起本次调研 以了解大家对这项极具潜力的新技术的认知 为感谢大家的认真作答 我们将从有效问卷中随机抽取30名幸运者 赠送精品
  • 使用gsoap由.h文件生成wsdl相关问题

    生成wsdl文件步骤 头文件如下 ws interface h ifndef WS INTERFACE H define WS INTERFACE H 注意 以下注释是必要的 gsoap ns service name ws interfa
  • win7、win10进程pid4占用80端口的解决办法

    https jingyan baidu com article 7e4409533ffe092fc1e2ef10 html 今天想用wamp架设服务器 但是程序启动不起来 查看系统端口 80端口被占用 进程PID是4 我的系统是WIN10
  • 9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    基于STM32无刷直流电机控制器的设计仿真与实现 原理图 源码 仿真工程 论文 PPT 参考英文文献 文章目录 基于STM32无刷直流电机控制器的设计仿真与实现 原理图 源码 仿真工程 论文 PPT 参考英文文献 资料 任务书 设计说明书
  • 【详解C语言指针】我真的让C指针给我唱征服了~乌拉

    文章目录 前言 一 字符指针 1 字符指针的定义 2 字符指针的作用 3 字符指针的特点 二 指针数组 1 指针数组的定义 2 指针数组的使用 三 数组指针 1 数组指针的定义 2 细说指针 2 1 指针类型 2 2 指针所指向的类型 2
  • Qt 多线程中的信号/槽

    Qt 多线程中的信号 槽 connect函数的五个参数表示的意义依次为 sender signal receiver slot connectionTpye 其中槽可以是receiver的成员函数 或者是任意可访问的静态函数 在多线程的情形
  • HTML2CANVAS使用总结

    前言 最近遇到了个功能 要把表单转化成图片来保存 这让我想到了一个插件HTML2CANVAS 这里给大家分享下它的用法和我使用的过程 html2canvas 能够实现在用户浏览器端直接对整个或部分页面进行截屏 这个html2canvas脚本
  • python logging默认情况下打印_Python中logging在多进程环境下打印日志

    因为涉及到进程间互斥与通信问题 因此默认情况下Python中的logging无法在多进程环境下打印日志 但是查询了官方文档可以发现 推荐了一种利用logging SocketHandler的方案来实现多进程日志打印 其原理很简单 概括一句话
  • 1.架构的开悟

    零 架构的感悟 1 架构是什么 2 架构师是什么 3 架构成长之路 3 1 翻越愚昧山峰 3 2 走上开悟之坡 3 3 踏上高原 1 架构是什么 软件架构 有关软件整体结构与组件的抽象描述 用于指导大型软件系统各个方面的设计 通常说架构是一
  • perp系列之一:关于perp

    perp系列之一 关于perp 版本说明 版本 作者 日期 备注 0 1 ZY 2019 5 29 初稿 目录 文章目录 perp系列之一 关于perp 版本说明 目录 欢迎 关于 好处 这是一个很好的进程管理框架 适用于Unix系统 之前
  • Failed to bind properties under ‘spring.datasource.password‘ to java.lang.String

    1 记录一次坑 在配置jasypt时 一些都很顺利 pom引入 项目启动 从网上搜索资料jar包启动手动设置秘钥 java jar Djasypt encryptor password 1234qwer test jar 但是在部署的时候
  • P2P技术简介

    P2P技术简介 NAT Network Address Translation 穿越 俗称打洞 技术 前言 p2p已经存在于我们生活的方方面面 我们通过下载在工具 比如迅雷 bitorent 各种网盘 下载 观看live视频 ppstrea
  • markdown转xmind思维导图 & markdown绘制思维导图

    markdown转xmind思维导图教程 直接看这篇博客 很实用的markdown转xmind思维导图教程 xmind思维导图转markdown 直接看这篇博客Xmind转markdown教程 Note 如果你的xmind8安装路径上有中文
  • 入门级题解138. 复制带随机指针的链表

    题目解读 复制链表 这个链表带随机指针 https leetcode cn com problems copy list with random pointer solution fu zhi dai sui ji zhi zhen de
  • windows下qt工程移植到linux

    把工程里面的目录Debug GeneratedFiles Release Win32 x64和文件 user sln vcxproj filters删掉 这里根据vs版本的不同删除的文件和目录也可能不同 只要保留 h cpp qrc 没有这
  • Linux网络服务:DNS域名解析服务

    目录 一 理论 1 DNS系统 2 查询类别 3 DNS服务器查询过程 4 hosts文件 5 主服务器配置文件 二 实验 1 主备DNS服务器 2台服务器都正常 2 主备DNS服务器 1台主服务器关闭 3 问题 一 理论 1 DNS系统
  • 基于multisim 实现的“出租车计价器的设计与仿真”

    1 设计要求 1 计费器具有行车里程计费 等候时间计费及起价等三部分 3位数码管显示最大金额为99 9 单位 元 2 行车里程单价 00元 等候时间单价 00元 5分钟 及起价 00元 均可以由键盘输入 此实验中行车里程单价和等候时间单价均
  • chatgpt赋能python:Python反向查找字符——一个强大的文本处理工具

    Python反向查找字符 一个强大的文本处理工具 在搜索引擎优化中 文本处理是非常关键的一环 其中 反向查找字符在文本处理中也扮演着一个重要的角色 能够帮助我们快速地定位和处理文本中的特定内容 在这篇文章中 我们将介绍反向查找字符在Pyth
  • Linux下which、whereis、locate、find 命令的区别

    http blog chinaunix net uid 20554039 id 3035417 html 我们经常在linux要查找某个文件 但不知道放在哪里了 可以使用下面的一些命令来搜索 这些是从网上找到的资料 因为有时很长时间不会用到