在Linux上工作时,最常见的操作之一是搜索文件和目录。在Linux系统上,有几个命令find和locate 可以让您搜索使用最常用的文件。

locate命令是按文件和目录名称搜索的最快,最简单的方法。

在本教程中,我们将解释如何使用locate命令。

安装locate(locate command not found)

根据发行版和系统的配置方式,locate包可能会或可能不会预装在Linux系统上。

要检查系统上是否安装了locate实用程序,请打开终端,输入locate,然后按Enter。如果安装了软件包,系统将显示locate: no pattern to search for specified,否则您将看到类似的信息locate command not found。

如果locate未安装,则可以使用发行版的软件包管理器轻松安装它。

locate在Ubuntu和Debian上安装sudo apt update

sudo apt install mlocate

locate在CentOS和Fedora上安装sudo yum install mlocate

locate 是怎么运作的

locate命令通过该updatedb命令生成的数据库文件搜索给定的模式。找到的结果显示在屏幕上,每行显示一个。

在安装mlocate软件包期间,将创建一个cron作业,该作业updatedb每24小时运行一次命令。这样可以确保数据库得到定期更新。有关cron作业的更多信息,请检查/etc/cron.daily/mlocate文件。

可以通过updatedb以root或具有sudo特权的用户身份运行命令来手动更新数据库:sudo updatedb

更新过程将花费一些时间,具体取决于文件和目录的数量以及系统的速度。

数据库更新后创建的文件将不会显示在查找结果中。

与locate运行速度更快,但缺少许多功能,并且只能按文件名进行搜索。

如何使用locate命令

locate命令的语法如下:locate [OPTION] PATTERN...

以最基本的形式,当不带任何选项使用时,locate命令将打印与搜索模式匹配且用户具有读取权限的所有文件和目录的绝对路径。

例如,要搜索名为.bashrc您的文件,请输入:locate .bashrc

输出将包括所有名称中包含字符串的所有文件.bashrc的名称:/etc/bash.bashrc

/etc/skel/.bashrc

/home/myfreax/.bashrc

/usr/share/base-files/dot.bashrc

/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc

/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

/root/.bashrc文件将不会显示,因为我们以没有对该/root目录访问权限的普通用户身份运行了该命令。

如果结果列表很长,为了提高可读性,可以将输出传递给locate .bashrc | less

locate命令还接受包含通配符等通配符的模式*。当模式不包含浮点字符时,该命令将搜索*PATTERN*,这就是为什么在上一个示例中显示了所有名称中包含搜索模式的文件的原因。

通配符是用于表示零个,一个或多个字符的符号。例如,要搜索.md系统上的所有文件,可以使用:locate *.md

要限制搜索结果,请使用-n选项,后跟要显示的结果数。例如,以下命令将搜索所有.py文件并仅显示10个结果:locate -n 10 *.py

默认情况下,locate执行区分大小写的搜索。在-i(--ignore-case)选项locate忽略大小写和运行不区分大小写的搜索。locate -i readme.md/home/myfreax/p1/readme.md

/home/myfreax/p2/README.md

/home/myfreax/p3/ReadMe.md

要显示所有匹配条目的计数,请使用-c(--count)选项。以下命令将返回.bashrc名称中包含的所有文件的数量:locate -c .bashrc6

默认情况下,locate不检查找到的文件在文件系统上是否仍然存在。如果您在最新数据库更新后删除了文件,并且该文件与搜索模式匹配,则它将包含在搜索结果中。

要仅显示locate运行时存在的文件名,请使用-e(--existing)选项。例如,以下内容将仅返回现有.json文件:locate -e *.json

如果您需要运行更复杂的搜索,可以使用-r(--regexp)选项,该选项允许您使用基本的正则表达式而不是模式进行搜索。可以多次指定此选项。

例如,要搜索系统上的所有文件.mp4和.avi文件并忽略大小写,请运行:locate --regex -i "(\.mp4|\.avi)"

结论

locate命令在文件系统中搜索名称与给定模式匹配的文件和目录。该命令语法易于记忆,并且结果几乎立即显示出来。

有关终端中locate命令类型的所有可用选项的更多信息man locate。

如有任何疑问,请随时发表评论。

linux 查找文件locate,在Linux使用locate查找文件相关推荐

  1. Linux查找文件 —— whereis 、 find、 locate、 which

    which 查看系统PATH目录下可执行文件的位置 . whereis 查看查找二进制文件.源代码文件和man手册页 ...whereis比which的搜索范围大了一些 locate 配 合数据库查看 ...

  2. Linux文件查找命令find用法整理(locate/find)

    Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2 ...

  3. linux 查找文件locate,Linux locate命令:按照文件名搜索文件

    whereis 和 which 命令都是只能搜索系统命令的命令,而 locate 命令才是可以按照文件名搜索普通文件的命令. 但是 locate 命令的局限也很明显,它只能按照文件名来搜索文件,而不能 ...

  4. linux文件查找命令find、which、locate、whereis 和type

    1. find 查找-在目录层次结构中搜索文件 用法: find <指定目录> <指定条件> <指定动作> 指定动作默认为 -print # 当前目录下查找以dat ...

  5. linux的locate工具,linux文本查找工具之locate、find

    linux文本查找工具之locate.find 一.文件查找分为两类: 1.非实时查找:locate 2.实时查找:find 二.非实时查找:locate 非实时查找:查找速度快.非精准查找.模糊查找 ...

  6. linux定位到文件,locate 在linux下快速定位文档

    linux 下可以使用 locate 和 find 来查找文件,但是 locate 在定位时要比 find 快. 他们的区别: locate 并不是穿梭于档案文件中查找,而是在数据库查找文件. fin ...

  7. Linux下4个查找命令which、whereis、locate、find的使用与区别

    Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which   [-a]    cmdname1 cmdname2 ...... 作用:locate ...

  8. Linux下4个查找命令which、whereis、locate、find

    1.which 作用:从环境变量PATH中,定位.返回与指定名字相匹配的可执行文件所在的路径 原理:执行which命令时,which会在当前环境变量PATH中依次寻找能够匹配所找命令名字的可执行文件 ...

  9. linux命令之diff,whereis,locate,pwd,cat,grep,touch,find

    最近学到的linux命令,算是每天学一个,但是感觉每天都在忘...所以就只能重复的看了,在此分享给大家.与君共勉. 1. diff::比较给定的两个文件的不同    diff /usr/li test ...

最新文章

  1. Django 缓存6.2
  2. Hadoop版本:CDH, HDP, MapR
  3. rgbdslam_v2安装并使用
  4. Windows 下更换pip源为阿里源
  5. python怎么在运行中查看执行状态,Python程序运行时查看对象状态怎样设计才能实现...
  6. SwiftUI实战一:从入门到精通
  7. 564. 寻找最近的回文数
  8. linux下fish配置终端,如何在Linux中安装、配置和使用Fish Shell?
  9. android图形开发工具,Android开发实现的几何图形工具类GeometryUtil完整实例
  10. 一元云购CMS微信分享打不开解决办法
  11. 2021福建省地区高考成绩排名查询,福建省高考录取分数线2021
  12. 记一次失败的阿里巴巴电话面试
  13. 检验图片有没有被 P 过
  14. 微信自定义分享功能;分享朋友,分享到朋友圈
  15. mac outlook删除服务器邮件,设置苹果MAC 端outlook客户端说明
  16. 山西大学计算机与信息技术学院张超,张超 - 山西大学 - 计算机与信息技术学院...
  17. SSM框架超市进销存出库入库仓库管理系统(idea开发javaweb-javaee-j2ee-springboot) 退货管理 销售管理 供应商管理 客户管理 员工管理 以及库存统计和盘存统计
  18. 110道 Elasticsearch面试题及答案(持续更新)
  19. python爬虫动态更换ip_学爬虫怎么能不会这8个技巧?动态换ip代理都知道
  20. 使用Wireshark抓包工具抓取直播源

热门文章

  1. python提取表格数据匹配_excle表格处理python|python怎么提取excle表格数据
  2. Hibernate入门指导 - Hibernate官方文档
  3. PPT多媒体课件制作一
  4. FFmpeg入门详解之17:音频深度学习
  5. JAVA002打飞机游戏设计(程序+论文)
  6. 接口的变量(引用变量)
  7. win10删除休眠文件有影响吗?
  8. ios居然不支持transparent
  9. 手把手教你为 PDF文件/论文自动批量添加书签/目录, 彻底告别手动添加书签的烦恼
  10. 怎么合并视频?快把这些方法收好