广告
返回顶部
首页 > 资讯 > 操作系统 >Linux系统locate命令的使用方法是什么
  • 209
分享到

Linux系统locate命令的使用方法是什么

2023-06-28 13:06:12 209人浏览 独家记忆
摘要

小编今天带大家了解linux系统locate命令的使用方法是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统loca

小编今天带大家了解linux系统locate命令的使用方法是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统locate命令的使用方法是什么”的知识吧。

1.1 简述

locate命令用于查找文件或目录。locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db。这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次。因此,我们在用whereis 和 locate查找文件时,有时会找到已经被删除的数据;或者刚刚建立的文件,却无法查找到,原因就是因为数据库文件没有被更新。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。整个locate工作其实是由4部分组成的:

  • /usr/bin/updatedb: 主要用来更新数据库,通过crontab自动完成的

  • /usr/bin/locate: 查询文件位置

  • /etc/updatedb.conf: updatedb的配置文件

  • /var/lib/mlocate/mlocate.db: 存放文件信息的文件

locate会读取由updatedb准备好的一个或多个数据库,然后将满足匹配PATTERN的文件写到标准输出,每行一个文件名。假如并未指定--regex选项,则PATTERN可以包含通配符。假如PATTERN中并未包含任何通配符,则locate命令以*PATTERN*模式进行查找。

默认情况下,locate命令并不会检查数据库中的文件是否仍然存在,也不会报告在上一次更新数据库之后产生的文件。

1.2 用法

 locate [OPTioN]... [PATTERN]...

1.3 选项

 -A, --all               打印所有匹配PATTERNs的文件 -b, --basename          只名称与PATTERNs匹配的文件(例如/test/test.txt,则basename为test.txt) -c, --count             只打印匹配到的文件数目,而不是文件名本身 -d, --database DBPATH   用DBPATH来代替默认的数据库。DBPATH是一个以:(冒号)分割的数据库名称列表 -e, --existing          只打印在调用locate时存在的文件 -L, --follow            当和-e选项一起使用时,如果该文件是一个软链接文件,则会获取到该软链接对应的实际文件(此为locate命令默认行文)。 -h, --help              打印帮助文档信息 -i, --ignore-case       当进行文件模式匹配时,忽略大小写 -l, --limit, -n LIMIT   当成功匹配到LIMIT数量的文件时,退出 -P, --nofollow, -H      当和-e选项一起使用时,如果该文件是一个软链接文件,此时不跟随链接的实际文件 -0, --null              输出时以ASCII NUL作为分隔符 -S, --statistics        获得每一个搜索数据库的统计信息 -q, --quiet             当在读取和处理数据库时,遇到错误也不打印相关信息 -r, --regexp REGEXP     查找一个基本的模式匹配REGEXP。此选项情况下,不能出现PATTERNs -V, --version           打印locate的版本信息和license信息 -w, --wholename         匹配完整路径名(默认)

例如查找一个文件名称为NAME(并不是*NAME*)的文件,可以使用如下:

 # locate -b '\NAME'

应为\本身是一个通配字符,因此这里会禁止隐式的转化为*NAME*.

1.4 使用范例

1) 搜索目录下所有以sh开头的文件

 # locate /etc/sh /etc/shadow /etc/shadow- /etc/shells

2) 包含某个字符串的相关文件

 # locate passwd /etc/passwd /etc/passwd- /etc/pam.d/passwd /etc/security/opasswd /usr/bin/gpasswd /usr/bin/grub2-mkpasswd-pbkdf2 /usr/bin/kpasswd /usr/bin/lppasswd /usr/bin/passwd /usr/bin/smbpasswd ....

3) 限定显示数量

如果显示的内容过多,可以使用-n选项来限定显示数量。

 # locate -n 5 passwd /etc/passwd /etc/passwd- /etc/pam.d/passwd /etc/security/opasswd /usr/bin/gpasswd

4) 使用正则表达式

当需要查找符合特定规则的信息时,可以使用-r选项匹配相应的正则表达式

 //查找以 /var/lib/rpm 开头的文件 # locate -r ^/var/lib/rpm /var/lib/rpm /var/lib/rpm-state /var/lib/rpm/.dbenv.lock /var/lib/rpm/.rpm.lock ....   //查找以 zip 结尾的文件 # locate -r zip$ /usr/bin/funzip /usr/bin/gpg-zip /usr/bin/gunzip /usr/bin/gzip /usr/bin/mzip /usr/bin/unzip /usr/bin/zip /usr/lib64/libreoffice/share/config/images.zip /usr/lib64/libreoffice/share/config/images_crystal.zip ....

5) 判断某一目录下的文件是否存在(软链接)

 # ls ../lib | while read line; do if [ -f ../lib/$line ]; then  temp="$(locate "$line")"; if [ -n "$temp" ]; then  echo $line; fi fi done

1.5 updatedb的配置文件/etc/updatedb.conf

 PRUNE_BIND_MOUNTS = "yes" PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs  hugetlbfs inotifyfs iso9660 jffs2 lustre MQueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs" PRUNENAMES = ".git .hg .svn" PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"
  • PRUNE_BIND_MOUNTS: 表示是否进行限制搜索

  • PRUNEFS: 表示排除检索的文件系统类型

  • PRUNENAME: 表示排除检索的文件类型

  • PRUNEPATHS: 表示排除检索的文件目录

感谢大家的阅读,以上就是“Linux系统locate命令的使用方法是什么”的全部内容了,学会的朋友赶紧操作起来吧。相信编程网小编一定会给大家带来更优质的文章。谢谢大家对编程网网站的支持!

--结束END--

本文标题: Linux系统locate命令的使用方法是什么

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux系统locate命令的使用方法是什么
    小编今天带大家了解Linux系统locate命令的使用方法是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统loca...
    99+
    2023-06-28
  • Linux locate命令的使用方法
    01. 命令概述 locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。linux...
    99+
    2022-06-04
    Linux locate命令 Linux locate
  • Linux系统locate命令怎么用
    小编给大家分享一下Linux系统locate命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Linux系统中 locate命令可以帮助用户迅速查找符合条...
    99+
    2023-06-28
  • Linux系统的locate命令怎么用
    这篇“Linux系统的locate命令怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux系统的locate命令怎...
    99+
    2023-06-28
  • linux locate命令的作用是什么
    这篇“linux locate命令的作用是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2023-02-10
    linux locate
  • Linux系统rm命令的使用方法是什么
    Linux系统rm命令的使用方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Linux系统中用户可以使用rm命令删除不需要的文件或者目录,但是使用rm命令时一定要...
    99+
    2023-06-28
  • Linux系统find命令的使用方法是什么
    这篇文章将为大家详细讲解有关Linux系统find命令的使用方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linux系统中一切皆为文件,所以要想快速的找到某一个文件可以借助查找文件...
    99+
    2023-06-28
  • Linux系统cat命令的使用方法是什么
    这篇文章跟大家分析一下“Linux系统cat命令的使用方法是什么”。内容详细易懂,对“Linux系统cat命令的使用方法是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Lin...
    99+
    2023-06-28
  • Linux的locate命令怎么使用
    这篇“Linux的locate命令怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux的locate命令怎么使用...
    99+
    2023-06-28
  • Linux系统top命令的具体使用方法是什么
    这篇文章跟大家分析一下“Linux系统top命令的具体使用方法是什么”。内容详细易懂,对“Linux系统top命令的具体使用方法是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习...
    99+
    2023-06-28
  • Linux系统whereis命令的使用方法是什么
    今天就跟大家聊聊有关Linux系统whereis命令的使用方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。whereis命令也是Linux系统中用于文件查...
    99+
    2023-06-28
  • Linux系统file命令的具体使用方法是什么
    Linux系统file命令的具体使用方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。\1. Windows以不同的扩展名来区分不同的文件,例如:.exe...
    99+
    2023-06-28
  • Linux系统命令pidof的具体使用方法是什么
    本篇文章给大家分享的是有关Linux系统命令pidof的具体使用方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何使用pidof命令对于基于Red Hat和Debia...
    99+
    2023-06-28
  • Linux系统at命令的具体使用方法是什么
    今天给大家介绍一下Linux系统at命令的具体使用方法是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。at简介at是一个计划任务,可以在特定的时间执行某项...
    99+
    2023-06-28
  • Linux系统sort命令的具体使用方法是什么
    本篇文章为大家展示了Linux系统sort命令的具体使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Linux系统中 sort 命令可以对文件进行各种排序,所以sort 命令可以当作个...
    99+
    2023-06-28
  • Linux系统svn命令的用法是什么
    Linux系统svn命令的用法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、将文件checkout到本地目录svn checkout path(path是服务器&nb...
    99+
    2023-06-28
  • Linux系统nc命令的安装和使用方法是什么
    这篇文章的内容主要围绕Linux系统nc命令的安装和使用方法是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!nc是Linux系统中非常强大的网络...
    99+
    2023-06-28
  • Linux系统使用Fuser命令的方法
    什么是Fuser命令? fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件、目录或socket的进程。 它还提供有关拥有该进程的用户和访问类型的信息。。fuser工具显示了使用指定文件或文件系统...
    99+
    2022-06-03
    Linux fuser命令 Linux中fuser命令用法
  • Linux系统lsof命令的使用方法
    Linux系统lsof命令的使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Linux系统中lsof命令是用于列出当前系统打开文件的工具,是一个非常方便的命令。lsof命...
    99+
    2023-06-28
  • Linux系统命令free的使用方法
    这篇文章将为大家详细讲解有关Linux系统命令free的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linux系统中free命令最主要的用途就是用来显示内存的状态,其中包括实体内存...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作