Centos locate 文件搜索命令(十一)

locate命令java

locate 文件名node

在後臺數據庫中按文件名搜索,搜索速度更快linux

 

 /var/lib/mlocategit

#locate命令所搜索的後臺數據庫sql

 

updatedb數據庫

更新數據庫centos

 

locate搜索速度比較快;bash

 

[root@localhost ~]# ls架構

222  anaconda-ks.cfg  牛逼ssh

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

相關文章
相關標籤/搜索