专栏首页mwangblogLinux查找文件 whereis locate

Linux查找文件 whereis locate

Linux查找文件 whereis locate

本文目录

  • 1 whereis
  • 2 locate

Linux下查找文件可以使用whereislocatefind这些命令,其中find命令最古老且功能最强,但是它比较耗时。whereislocate命令搜索文件较快,同时功能也比较简单。

本文仅介绍whereislocate的用法,find命令在后续的文章介绍。

whereis

事实上,whereis命令仅搜索特定类型的文件:二进制可执行文件、说明文档、源文件和其他特殊文件。

whereis命令的语法简单介绍如下:

whereis [-bm] name...

whereis name搜索文件名为name的特定类型的文件:

$ whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

上面的命令找到了名为ifconfig的特定类型的文件,其中第一个是二进制可执行文件,第二个是说明文档。

whereis -b name搜索文件名为name的二进制可执行文件:

$ whereis -b cat
cat: /bin/cat

上面的命令找到了名为cat的二进制可执行文件。

$ whereis -m cat
cat: /usr/share/man/man1/cat.1.gz

使用-m命令选项可以搜索说明文档类型的文件,上面的命令找到命令cat的说明文档。

locate

locate命令在一个数据库中通过文件名查找文件,所以其查找速度很快。

在Ubuntu 16.04中,使用下面的命令安装该软件:

$ sudo apt install mlocate

该命令的数据库不会实时更新,一般情况下是一天更新一次,当然也可以手动更新数据库:

$ sudo updatedb

locate命令的常用语法如下:

locate [-irc] name...

可以使用它直接搜索文件:

$ locate now.txt
/home/tom/now.txt
$ locate now.txt Now.txt
/home/tom/newSNow.txt
/home/tom/now.txt
/home/tom/homework/newNow.txt

这里执行了两次搜索,第一次搜索文件名中包含now.txt的文件,第二次搜索文件名包含now.txt和文件名包含Now.txt的文件。

使用-i命令参数忽略大小写:

~$ locate -i now.txt
/home/tom/newSNow.txt
/home/tom/now.txt
/home/tom/homework/newNow.txt

使用-c命令参数显示总数,而不是罗列文件:

$ locate -ic now.txt
3

使用-r命令参数使用正则表达式,下面的命令搜索所有文件名以w.txt结尾的文件:

$ locate -r "w.txt$"

本文分享自微信公众号 - mwangblog(mwangblog),作者:WM

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux中的链接 ln

    mwangblog
  • 开始使用MiniZinc

    MiniZinc是一个用来描述整数和实数的优化约束和决策问题的语言,它允许用户以接近问题的数学公式的方式编写模型。

    mwangblog
  • Dijkstra算法

    Dijkstra算法使用了广度优先搜索解决赋权有向图(或无向图)的单源最短路径问题。

    mwangblog
  • 解析Java横死之谜,气定神闲看花开花落

    http://xjjdog.cn 对200+原创文章进行了细致的分类,阅读更流畅,欢迎收藏。

    xjjdog
  • 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

    本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议。

    armfly
  • 一次900万+数据量的 SQL 查询优化分析【上百倍性能优化】

    有一张流水表,未分库分表,目前的数据量为950w,分页查询使用到了limit,优化之前的查询耗时17s左右 (execution: 16s831ms, fetc...

    数据和云
  • Spring Security 实战干货:分布式对象SharedObject

    在上一篇我们对AuthenticationManager的初始化的细节进行了分析,其中里面有一段代码引起了不少同学的注意:

    码农小胖哥
  • Django搭建博客(四):渲染前数据的处理

    一个简单得方法就是不直接在模板里使用 date属性,而是使用date属性的year 、month 和 day属性来拼凑我们所需的日期格式。

    渔父歌
  • 什么是服务台,他对企业有何作用

    你是否知道服务台(Service Desk)是什么?你是否想知道如何让帮助中心(Help Desk)满足你的IT需求?你了解他们之间的区别吗?

    大江小浪
  • Python如何传递运算表达式

    正小歪,Python 工程师,主要负责 Web 开发和日志数据处理。博客文章《真正的 Tornado 异步非阻塞》、《使用 JWT 让你的 RESTful AP...

    Python中文社区

扫码关注云+社区

领取腾讯云代金券