locate命令[1]

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

2、updatedb 更新数据库

3、操作

[root@localhost ~]# ls

222  anaconda-ks.cfg  牛逼

[root@localhost ~]# locate 牛

-bash: locate: 未找到命令

4、解决:

我们用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                                               

完毕!

这样就安装完了。

5、

[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路径的文件 默认配置是搜索不到的;

Reference:

[1] Java1234_小锋, Centos之文件搜索命令locate, http://blog.java1234.com/blog/articles/298.html

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

  1. Linux经常使用命令002之搜索命令locate、whereis、which、find、grep

    Linux经常使用命令002之搜索命令locate.whereis.which.find.grep -20150811 经常使用搜索命令 -------文件搜索命令---------- -->l ...

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

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

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

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

  4. Centos之文件搜索命令locate

    locate命令 locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命令所搜索的后台数据库 updatedb 更新数据库 locate搜索 ...

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

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

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

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

  7. linux中其他搜索命令(locate/which/whereis/grep)

    目录 locate which whereis grep locate 解释 命令名称:locate 命令所在路径:/usr/bin/locate 执行权限:所有用户 功能描述:在文件资料库中查找文件 ...

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

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

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

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

随机推荐

  1. 常见HTTP响应状态码

    分类 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作成功接收并处理 3** 重定向,需要进一步的操作以完成请求 4** 客户端错误,请求包含语法错误或无法完成 ...

  2. 【mybatis】mybatis一条sql更新两张数据表,mybatis关联更新多张数据表

    示例sql: <update id="receipt" parameterType="com.pisen.cloud.luna.ms.security.code.b ...

  3. MySQL语言分类——DDL

    DDL的全称Data Definition Language,即数据定义语言 DDL的语法有:create.alter.drop.rename.truncate.对此做一个详细的解释: create ...

  4. html5权威指南:组织内容、文档分节

    HTML5新增及删除标签:http://www.cnblogs.com/starof/archive/2015/06/23/4581850.html 第九章:组织内容                 ...

  5. 实现HTML调用打开本地软件文件

    有时候我们想要实现一个功能,就是在HTML页面点击一个链接就能调用打开本地可执行文件.就像腾讯QQ.迅雷这种. 而实现这种功能其实也很简单,就是需要我们添加修改注册表,实现自定义URL Protoco ...

  6. .NET Core 下调用WebAPI

    前言 今天我们介绍多种客户端调用WebApi的方式,可以是原生写的,也可以借助.NET 框架下的其他HTTP库.我们一起来看看它们之间的一些异同吧- RestSharp 首先要介绍的就是这款REST ...

  7. ASM磁盘操作笔记

    添加磁盘组 create diskgroup abc normal redundancy failgroup a disk 'ORCL:AAA' name AAA failgroup b disk ' ...

  8. 解决debugJDK源码看不到局部变量的值

    背景:使用的jdk1.8.0_201 问题描述:在eclispe中调试代码进入到JDK源码中,想看到某个变量的值得变化,发现此变量的值没法看到 解决方案: 1.进入到你安装本机的jdk目录下,找到sr ...

  9. sql学习(一),sqlpuls

    原创作品,转载请注明来源https://www.cnblogs.com/sogeisetsu/ oracle的特殊语法 注意,上方的语法只适用于oracle,并不适用于mysql,比如,mysql需要 ...

  10. 通过async与await实现高效并发

    withTimeoutOrNull: 在上一次https://www.cnblogs.com/webor2006/p/12010388.html中对于协程的超时机制进行了一个学习,上次用的是withT ...