返回顶部
首页 > 资讯 > 操作系统 >Linux系统中怎么使用mlocate查找文件
  • 575
分享到

Linux系统中怎么使用mlocate查找文件

2023-06-28 13:06:52 575人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关linux系统中怎么使用mlocate查找文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统中一切皆为文件,一个系统可能存在数十万个文件。那么如何快速的查找

这期内容当中小编将会给大家带来有关linux系统中怎么使用mlocate查找文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Linux系统中一切皆为文件,一个系统可能存在数十万个文件。那么如何快速的查找文件?如果你需要查找一个特定的配置文件可以使用使用 mlocate进行查找文件,下面一起来看一下mlocate的具体使用方法。

如果你使用过一些类 Unix 机器,那么你肯定用过 find 命令。毫无疑问,它是非常复杂和功能强大的。以下是一个只搜索目录中的符号链接,而忽略文件的例子:

 # find . -lname "*"

你可以用 find 命令做几乎无尽的事情,这是不容否认的。find 命令好用的时候是很好且简洁的,但是它也可以很复杂。这不一定是因为 find 命令本身的原因,而是它与 xargs 结合,你可以传递各种选项来调整你的输出,并删除你找到的那些文件。

位置、位置,让人沮丧

然而,通常情况下简单是最好的选择,特别是当一个脾气暴躁的老板搭着你的肩膀,闲聊着时间的重要性时。你还在模糊地猜测这个你从来没有见过的文件的路径,而你的老板却肯定它在拥挤的 /var 分区的某处。

进一步看下 mlocate。你也许注意过它的一个近亲:slocate,它安全地(注意前缀字母 s 代表安全)记录了相关的文件权限,以防止非特权用户看到特权文件。此外,还有它们所起源的一个更老的,原始 locate 命令。

mlocate 与其家族的其他成员(至少包括 slocate)的不同之处在于,在扫描文件系统时,mlocate 不需要持续重新扫描所有的文件系统。相反,它将其发现的文件(注意前面的 m 代表合并)与现有的文件列表合并在一起,使其可以借助系统缓存从而性能更高、更轻量级。

在本系列文章中,我们将更仔细地了解 mlocate (由于其流行,所以也简称其为 locate),并研究如何快速轻松地将其调整到你心中所想的方式。

小巧和 紧凑

除非你经常重复使用复杂的命令,否则就会像我一样,最终会忘记它们而需要在用的时候寻找它们。locate 命令的优点是可以快速查询整个文件系统,而不用担心你处于顶层目录、根目录和所在路径,只需要简单地使用 locate 命令。

以前你可能已经发现 find 命令非常不听话,让你经常抓耳挠腮。你知道,丢失了一个分号或一个没有正确转义的特殊的字符就会这样。现在让我们离开这个复杂的 find 命令,放松一下,看一下这个聪明的小命令。

你可能需要首先通过运行以下命令来检查它是否在你的系统上:

对于 Red Hat 家族:

 # yum install mlocate

对于 Debian 家族:

 # apt-get install mlocate

发行版之间不应该有任何区别,但版本之间几乎肯定有细微差别。小心。

接下来,我们将介绍 locate 命令的一个关键组件,名为 updatedb。正如你可能猜到的那样,这是更新 locate 命令的数据库的命令。这名字非常符合直觉。

这个数据库是我之前提到的 locate 命令的文件列表。该列表被保存在一个相对简单而高效的数据库中。updatedb 通过 cron 任务定期运行,通常在一天中的安静时间运行。在下面的清单 1 中,我们可以看到文件 /etc/cron.daily/mlocate.cron 的内部(该文件的路径及其内容可能因发行版不同)。

 #!/bin/sh nodevs=$( renice +19 -p $$ >/dev/null 2>&1 ionice -c2 -n7 -p $$ >/dev/null 2>&1 /usr/bin/updatedb -f "$nodevs"

清单 1: 每天如何触发 “updatedb” 命令。

如你所见,mlocate.cron 脚本使用了优秀的 nice 命令来尽可能少地影响系统性能。我还没有明确指出这个命令每天都在设定的时间运行(但如果我没有记错的话,原始的 locate 命令与你在午夜时的计算机减速有关)。这是因为,在一些 “cron” 版本上,延迟现在被引入到隔夜开始时间。

这可能是因为所谓的 “河马之惊群Thundering Herd of Hippos”问题。想象许多计算机(或饥饿的动物)同时醒来从单一或有限的来源要求资源(或食物)。当所有的“河马”都使用 NTP 设置它们的手表时,这可能会发生(好吧,这个寓言扯多了,但请忍受一下)。想象一下,正好每五分钟(就像一个 “cron 任务”),它们都要求获得食物或其他东西。

如果你不相信我,请看下配置文件 – 清单 2 中名为 anacron 的 cron 版本,这是文件 /etc/anacrontab 的内容。

 # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. shell=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days   delay in minutes   job-identifier   command 1       5       cron.daily              nice run-parts /etc/cron.daily 7       25      cron.weekly             nice run-parts /etc/cron.weekly @monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

清单 2: 运行 “cron” 任务时延迟是怎样被带入的。

从清单 2 可以看到 RANDOM_DELAY 和 “delay in minutes” 列。如果你不熟悉 cron 这个方面,那么你可以在这找到更多的东西:

 # man anacrontab

否则,如果你愿意,你可以自己延迟一下。有个很棒的网页(现在已有十多年的历史)以非常合理的方式讨论了这个问题。本网站讨论如何使用 sleep 来引入一个随机性,如清单 3 所示。

 #!/bin/sh # Grab a random value between 0-240. value=$RANDOM while [ $value -gt 240 ] ; do  value=$RANDOM done # Sleep for that time. sleep $value # Syncronize. /usr/bin/rsync -aqzC --delete --delete-after masterhost::master /some/dir/

清单 3:在触发事件之前引入随机延迟的 shell 脚本,以避免河马之惊群。

在提到这些(可能令人惊讶的)延迟时,是指 /etc/crontab 或 root 用户自己的 crontab 文件。如果你想改变 locate 命令运行的时间,特别是由于磁盘访问速度减慢时,那么它不是太棘手。实现它可能会有更优雅的方式,但是你也可以把文件 /etc/cron.daily/mlocate.cron 移到别的地方(我使用 /usr/local/etc 目录),使用 root 用户添加一条记录到 root 用户的 crontab,粘贴以下内容:

 # crontab -e 33 3 * * * /usr/local/etc/mlocate.cron

使用 anacron,而不是通过 /var/log/cron 以及它的旧的、轮转的版本,你可以快速地告诉它上次 cron.daily 任务被触发的时间:

 # ls -hal /var/spool/anacron

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

上述就是小编为大家分享的Linux系统中怎么使用mlocate查找文件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网操作系统频道。

--结束END--

本文标题: Linux系统中怎么使用mlocate查找文件

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

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

猜你喜欢
  • Linux系统中怎么使用mlocate查找文件
    这期内容当中小编将会给大家带来有关Linux系统中怎么使用mlocate查找文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统中一切皆为文件,一个系统可能存在数十万个文件。那么如何快速的查找...
    99+
    2023-06-28
  • linux系统中怎么查找文件
    今天给大家介绍一下linux系统中怎么查找文件。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Linux系统中查找文件有两个方法:第一种方法是就是使用find命...
    99+
    2023-06-28
  • 怎么在Linux系统中查找文件
    本篇文章为大家展示了怎么在Linux系统中查找文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。linux查找文件1.1 find命令Linux find 命令是所有 Linux 命令中最有用的一个...
    99+
    2023-06-16
  • Linux系统中怎么查找出大文件
    本篇文章给大家分享的是有关Linux系统中怎么查找出大文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。du -s /home/* | sort -nr也可以用find,查找大...
    99+
    2023-06-13
  • Linux系统中怎么查找指定文件
    这篇文章主要讲解了“Linux系统中怎么查找指定文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中怎么查找指定文件”吧!-name 必须用到的选项。表明要求系统按照文件名查找...
    99+
    2023-06-10
  • 使用python怎么在pyqt5系统中查找文件
    使用python怎么在pyqt5系统中查找文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-14
  • Linux系统中怎么使用dupeGuru查找并移除重复文件
    今天就跟大家聊聊有关Linux系统中怎么使用dupeGuru查找并移除重复文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. dupeGuru (标准版)需要告诉那些不熟悉 du...
    99+
    2023-06-13
  • Linux系统怎么查找可执行文件
    这篇文章跟大家分析一下“Linux系统怎么查找可执行文件”。内容详细易懂,对“Linux系统怎么查找可执行文件”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux系统怎么查找...
    99+
    2023-06-28
  • linux系统中怎么批量查找文件与文件内容
    这篇文章主要讲解了“linux系统中怎么批量查找文件与文件内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux系统中怎么批量查找文件与文件内容”吧!比如查找当前目录下面所有的php文...
    99+
    2023-06-10
  • Linux 系统的下文件查找
    Linux 系统下文件查找1、which(1)作用:用于查找并显示给定命令的绝对路径(2)语法:which(选项)(参数)(3)案例:[root@localhost ~]# which cd &n...
    99+
    2024-04-02
  • 怎么在linux中使用find命令根据系统时间查找文件
    本篇文章给大家分享的是有关怎么在linux中使用find命令根据系统时间查找文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。这些时间戳包括mtime  文件内容上次...
    99+
    2023-06-13
  • 查找linux系统中大文件的方法
    http://blog.csdn.net/bobo0915/article/details/51980650 可以用下面的命令查找到系统中哪一个文件夹有问题然后逐层查看就可以找到是哪一个文件了 ...
    99+
    2024-04-02
  • 怎么在Linux中使用命令查找文件
    这篇文章主要介绍怎么在Linux中使用命令查找文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用简单的命令在 Linux 下基于类型、内容等快速查找文件。如果你是 Windows 或 OSX 的非资深用户,那么可...
    99+
    2023-06-16
  • linux中怎么使用view查找文件内容
    在Linux中,可以使用`view`命令来查找文件内容。`view`命令是`vim`编辑器的只读模式,可以用来查看文件内容。要使用`...
    99+
    2023-09-16
    view linux
  • 怎么查找Linux系统中的大文件和大目录
    这篇文章主要介绍“怎么查找Linux系统中的大文件和大目录”,在日常操作中,相信很多人在怎么查找Linux系统中的大文件和大目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么查找Linux系统中的大文件和...
    99+
    2023-06-12
  • linux系统下查找文件whereis命令怎么用
    这篇文章给大家分享的是有关linux系统下查找文件whereis命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。指令名称:whereis功能介绍:在特定目录中查找符合条件的文件。这些文...
    99+
    2023-06-10
  • Linux系统怎样查找大文件或目录
    这篇文章给大家介绍Linux系统怎样查找大文件或目录,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、查找大文件方法:那么如何把这些大文件搜索出来呢?例如我要搜索当前目录下,超过800M大小的文件find . -typ...
    99+
    2023-06-28
  • Linux中怎么使用ZFS文件系统
    本文小编为大家详细介绍“Linux中怎么使用ZFS文件系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux中怎么使用ZFS文件系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ZFS文件系统是一个革命性...
    99+
    2023-06-28
  • linux查找文件命令grep怎么使用
    grep是一种用于在文本文件中查找指定内容的命令。它可以根据用户提供的模式匹配规则,搜索文件中的文本并返回匹配的行。基本用法:1. ...
    99+
    2023-09-25
    linux
  • 怎么在Linux系统中使用enca查看文件编码
    这期内容当中小编将会给大家带来有关怎么在Linux系统中使用enca查看文件编码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。enca用法如下:enca -L zh_CN file 检查文件的编码enca...
    99+
    2023-06-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作