位置: 编程技术 - 正文

Linux下which、whereis、locate、find 区别

编辑:rootadmin

推荐整理分享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/X/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/X/passwd 只将二进制文件 查找出来

Linux下which、whereis、locate、find 区别

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

3、 locate

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

4、 find

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

当我们用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 Shell 常用命令与目录分区的学习总结 很早就想根据自己的学习规律和遗忘规律,自己总结一下Linux/Unix系统的Shell命令,一来便于自己时常查询之用,二来也分享于各位博友Linuxshell是系统的

linux socket 常用函数小结 ========TCP========TCP_Serversocket()bind()listen()accept()write()read()close()和shutdown()TCP_Clientsocket()connect()send()和recv()close()和shutdown()========UDP========UDP_Serversocket()bind()sen

Linux /bin, /sbin, /usr/bin, /usr/sbin 区别 在linux下我们经常用到的四个应用程序的目录是:/bin、/sbin、/usr/bin、/usr/sbinbin:bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmoddf、dmesg

标签: Linux下which、whereis、locate、find 区别

本文链接地址:https://www.jiuchutong.com/biancheng/360542.html 转载请保留说明!

上一篇:Linux下GitLab如何安装部署(gitlab离线安装 linux)

下一篇:Linux Shell 常用命令与目录分区的学习总结(linux shell 常用命令大全)

  • 应交税费科目的借贷方向
  • 赠送代金券的广告语
  • 卖家电税是多少
  • 电子发票怎么入库
  • 汇算清缴税费怎么入账
  • 差额发票能不能报销
  • 专项应付款在资产负债表中如何列示
  • 预缴增值税怎么填表
  • 员工离职如何申请赔偿
  • 垫资后转出的会计分录怎么写?
  • 印花税法律制度规定不征收印花税的是什么
  • 企业收取的押金要开票吗
  • 公司增资认缴需要什么流程呢怎么办理
  • 电信报表系统
  • 建造合同中甲供材选择一般计税还是简易计税更省税?
  • 增值税专用发票怎么开
  • 企业如何避免风险
  • 混凝土的增值税率是多少
  • 企业所得税季度预缴可以弥补以前年度亏损吗
  • 劳务报酬所得缴多少税
  • 购进货物无偿赠送其他单位
  • macos12支持设备
  • 新版edge浏览器如何打开ie浏览器
  • 费用发票可以不上账吗
  • 小规模纳税人申报
  • 季度所得税如何更正申报
  • 非居民个人所得税税率表最新
  • 苹果手机怎么修改默认输入法
  • php中实现文件的上传需要使用哪个全局变量
  • vue组件相互引入
  • 文竹发黄怎么挽救?
  • cannot read properties null
  • 公司登记注册费每年都要交吗
  • 销售方运输发票怎么做账?
  • 科目余额表怎么导出
  • web搜索与挖掘
  • 母公司和子公司可以一起投标吗
  • 加计抵减四项服务是什么?
  • mysql查询一列数据
  • 认缴制下,资金什么时候必须到位
  • 所有者权益包括哪些会计科目
  • 法人股东 分红
  • 个体对公账户是什么意思
  • 制造费用分配后总账月末余额在哪方?
  • 资产损失税前扣除
  • 哪个命令可以对mysql数据库做完全备份
  • 企业与个人之间关系的理解
  • 汇算清缴银行手续费放哪里
  • 本年利润亏损还需要交所得税吗
  • 转让无形资产或其他资产
  • 建筑发票开具与土增税扣有什么关系?
  • 销售货物增值税税率变化
  • 小规模纳税人减按1%怎么计算
  • 以前年度损益调整会计分录
  • 委托生产产品
  • 工厂没给工人买社保我们应该找哪个部门
  • 红字发票怎么申报增值税
  • 接受捐赠的固定资产计入什么科目
  • 关于数据库连接池,下列说法错误的是
  • MySql 5.7.17 winx64的安装配置详细教程
  • windows sfc命令
  • ubuntu系统启动过程
  • xp从装系统
  • win10预览版好吗
  • 屏保 win7
  • 系统升级为中狼
  • win7系统关机很慢什么原因
  • js模拟登录网站
  • Android计算器项目代码
  • vue assign
  • incaseformat查杀
  • unityapi解析
  • nodejs使用场景
  • python的threading模块详解
  • 获取标签的属性值的方式
  • spring mvc jsp
  • 国税系统公务员政审父母超生合格吗
  • 期初库存和期末库存是什么意思
  • 80491232税务申报代码
  • 会计基础工作规范2024
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设