locate命令

locate 文件名

在后台数据库中按文件名搜索,搜索速度更快

/var/lib/mlocate

#locate命令所搜索的后台数据库

updatedb

更新数据库

locate搜索速度比较快;

[root@localhost ~]# ls

222  anaconda-ks.cfg  牛逼

[root@localhost ~]# locate 牛

-bash: locate: 未找到命令

我们用locate命令的时候 发现 为找到命令,我们用Yum命令远程安装下locate

[root@localhost ~]# yum -y install mlocate

已加载插件:fastestmirror

base                                   | 3.6 kB     00:00

extras                                 | 3.4 kB     00:00

updates                                | 3.4 kB     00:00

(1/4): extras/7/x86_64/primary_db        | 168 kB   00:00

(2/4): base/7/x86_64/group_gz            | 155 kB   00:02

(3/4): base/7/x86_64/primary_db          | 5.6 MB   00:04

updates/7/x86_64/primary_db    FAILED

http://mirrors.nju.edu.cn/centos/7.3.1611/updates/x86_64/repodata/01ced03ac066a40f0d778eda08908656cc9f5b2f6433274ed482582f9d86c88a-primary.sqlite.bz2: [Errno 12] Timeout on http://mirrors.nju.edu.cn/centos/7.3.1611/updates/x86_64/repodata/01ced03ac066a40f0d778eda08908656cc9f5b2f6433274ed482582f9d86c88a-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')

正在尝试其它镜像。

(4/4): updates/7/x86_64/primary_db                     | 5.7 MB   00:01

Determining fastest mirrors

* base: mirrors.163.com

* extras: mirrors.163.com

* updates: mirrors.163.com

正在解决依赖关系

--> 正在检查事务

---> 软件包 mlocate.x86_64.0.0.26-6.el7 将被 安装

--> 解决依赖关系完成

依赖关系解决

============================================================================

Package          架构            版本                  源             大小

============================================================================

正在安装:

mlocate          x86_64          0.26-6.el7            base          113 k

事务概要

============================================================================

安装  1 软件包

总下载量:113 k

安装大小:378 k

Downloading packages:

警告:/var/cache/yum/x86_64/7/base/packages/mlocate-0.26-6.el7.x86_64.rpm:  头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

mlocate-0.26-6.el7.x86_64.rpm 的公钥尚未安装

mlocate-0.26-6.el7.x86_64.rpm                          | 113 kB   00:01

从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥

导入 GPG key 0xF4A80EB5:

用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"

指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5

软件包     : centos-release-7-3.1611.el7.centos.x86_64 (@anaconda)

来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

正在安装    : mlocate-0.26-6.el7.x86_64                               1/1

验证中      : mlocate-0.26-6.el7.x86_64                               1/1

已安装:

mlocate.x86_64 0:0.26-6.el7

完毕!

这样就安装完了。

[root@localhost ~]# locate 牛

/root/牛逼

/root/牛逼/java.pdf

这样 我们就能测试通过;

假如我们新建一个文件,然后再搜索

[root@localhost ~]# touch 牛牛

[root@localhost ~]# ls

222  anaconda-ks.cfg  牛逼  牛牛

[root@localhost ~]# locate 牛

/root/牛逼

/root/牛逼/java.pdf

我们发现 搜索不了。

原因是 locate命令搜索的是 /var/lib/mlocate 下的mlocate.db数据库

这个数据库不是实时更新的,所以我们需要更新下数据库;

我们updatedb下,然后再搜索

[root@localhost ~]# updatedb

[root@localhost ~]# locate 牛

/root/牛牛

/root/牛逼

/root/牛逼/java.pdf

[root@localhost ~]#

结果就出来了;

locate优点是 搜索速度快 ,缺点是只能按文件名搜索;

更新数据库配置文件/etc/updatedb.conf配置文件

我们用vi打开下

[root@localhost ~]# vi /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"

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

"/etc/updatedb.conf" 4L, 513C

这里PRUNE_BIND_MOUNTS="yes"开启搜索限制

PRUNEFS = 搜索时,不搜索的文件系统

PRUNENAMES = 搜索时,不搜索的文件类型

PRUNEPATHS = 搜索时,不搜索的路径

比如这里的tmp路径的文件 默认配置是搜索不到的;

Centos之文件搜索命令locate的更多相关文章

  1. (八)Centos之文件搜索命令locate

    一.文件搜索命令locate locate优点是 搜索速度快 ,缺点是只能按文件名搜索: 1.1 新建一个文件   1.2 更新数据库 locate命令搜索的是 /var/lib/mlocate 下的 ...

  2. Linux系类(8) - 文件搜索命令locate

    文件搜索命令locate 命令格式 locate [文件名] 在后台数据库中按文件名搜索,搜索速度更快,而find.which是遍历所有目录去查找:后台数据库在/var/lib/mlocate (保存 ...

  3. Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)

     1.文件搜索命令:locate [文件名]    在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少    例子:locate test.txt,就会显示文件名包含 test.txt的所 ...

  4. linux常用命令-文件搜索命令-locate,which,whereis,grep

    locate 目录或文件名 -i 查找的时候不区分大小写 这个类似everything,速度比find快很多,因为这个命令搜索的是它维护的文件资料库,文件资料库是var/lib/mlocate/mlo ...

  5. Linux文件搜索命令locate、which、grep详解

    命令locate详解 命令locate,其基本功能是在文件资料库中可以快速的搜索系统文件,占用系统资源很少,例如:locate my.cnf 还可以使用locate -i [文件名],不区分大小写进行 ...

  6. linux 文件搜索命令locate及updatedb

    windows 搜索工具Everything是根据NTFS日志来搜索的,所以速度特别快 locate 类似于windows的Everything,搜索速度比较快 如果没有locate命令,可安装 yu ...

  7. Linux命令-文件搜索命令:locate

    实际上是在分区表上搜索文件,比find命令速度更快 locate inittab 查找名称包含inittab的所有信息(快速搜索,实际上它是搜索linux资料库,区别于find在某一个磁盘分区或者某一 ...

  8. 文件搜索命令locate

    与find命令不同,locate命令不会去搜索某一个分区或硬盘,而是直接在资料库中搜索,因此,搜索的速度要比find命令快得多,linux系统会定期更新资料库. 利用locate locate命令可以 ...

  9. Centos之文件搜索命令find

    find [搜索范围] [搜索条件] #搜索文件 find / -name install.log #避免大范围搜索,会非常耗费系统资源 #find是在系统当中搜索符合条件的文件名.如果需要匹配, 使 ...

随机推荐

  1. java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解

    java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解 我用的是office word 2016版 XWPFRun是XWPFDocument中的一段文本对象(就是一段文 ...

  2. Linux基础命令之grep

    grep : 根据pattern(模式)搜索文本,并将符合模式的文本行显示出来,并不会修改原文件. 用法: grep  [options]   ‘ pattern ‘  /file       #也可 ...

  3. K8S发布解释型语言应用的最佳实践

    说明 我们知道,k8s在发布编译型语言的应用时,几乎不用多考虑,就会选择将编译好jar/war包(java语言)或者二进制文件(golang/c++)直接打到镜像当中,生成新的应用镜像,然后将镜像推到 ...

  4. NATS_02:NATS消息通信模型

    消息通信模型 NATS的消息通信是这样的:应用程序的数据被编码为一条消息,并通过发布者发送出去:订阅者接收到消息,进行解码,再处理.订阅者处理NATS消息可以是同步的或异步的. * 异步处理  异步处 ...

  5. kaggle竞赛

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  6. windows环境下批处理实现守护进程

    这个脚本提供两种方式守护,一种是通过进程名,但对于进程名都是java.exe的java程序不适用,另一种是通过netstat查找应用程序所监听的端口是否正在被监听.这两种方式可以在脚本中通过两个冒号注 ...

  7. linux split 切割大文件

    语法: split  [-l <行数>] [-b <字节>] [-C <字节>] [要切割的目标文件] [输出文件名前缀] 说明: -l <行数> 指定 ...

  8. CF&&CC百套计划2 CodeChef December Challenge 2017 Total Diamonds

    https://www.codechef.com/DEC17/problems/VK18 #include<cstdio> #include<iostream> #includ ...

  9. 51nod 1534 棋子游戏

    1534 棋子游戏 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 http://www.51nod.com/onlineJudg ...

  10. C++ Core Guidelines

    C++ Core Guidelines September 9, 2015 Editors: Bjarne Stroustrup Herb Sutter This document is a very ...