Centos之文件搜索命令locate

来源:https://www.cnblogs.com/share-record/archive/2019/09/06/11475364.html
-Advertisement-
Play Games

locate命令 locate 文件名 在後臺資料庫中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命令所搜索的後臺資料庫 updatedb 更新資料庫 locate搜索速度比較快; [root@localhost ~]# ls 222 anaconda-ks.cfg ...


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) <[email protected]>"

 指紋       : 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路徑的文件 預設配置是搜索不到的;

最後附上一張簡潔明瞭的圖:

 

 

 

博客轉載於:http://blog.java1234.com/blog/articles/298.html

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這篇博客是博主的第一篇博客,主要用於webapi學習過程中的問題記錄 問題1: 重寫OnAuthorization許可權驗證時,遇到AllowAnonymousAttribute特性不起作用的問題 ...
  • 一.遇到難題 在微軟官方逛了一圈,看到了這個。 馬上點擊,進去看看什麼情況。 1.安裝previewVisual studio 2019 2.設置SDK previews in Visual Studio 安裝確定已經安裝,設置我也已經設置了。就在這時,我突然看到了一個好東東 這是微軟官方出的一個教 ...
  • 現在大多數網站都是隨著滾動條的滑動載入頁面內容的,因此單純獲得靜態頁面的Html是無法獲得全部的頁面內容的。使用Selenium就可以模擬瀏覽器拉動滑動條來載入所有頁面內容。 ...
  • 學會查看日誌文件是一件很有意義的事,因為在 Linux 系統中運行的程式通常會把一些系統消息和錯誤消息寫入對應的日誌中,若是一旦出現問題,我們就可以通過查看日誌來迅速定位,及時解決故障。 ...
  • crontab文件格式 例子: | 描述 | 表達式 | | | | | 每五分鐘執行 | /5 | | 每小時執行 | 0 | | 每天執行 | 0 0 | | 每周執行 | 0 0 0 | | 每月執行 | 0 0 1 | | 每年執行 | 0 0 1 1 | 格式:分 時 日 月 星期 要運行 ...
  • LAMP的實現原理 LNMP的實現原理 兩者的區別 ...
  • 筆者使用的VMware和CentOS 7.0。在安裝完鏡像包後,便開始配置靜態ip。命令如下 修改Windows系統下的網路適配器中IPv4的屬性 將異常名作為關鍵字搜索出來的解決方法中幾乎都是教筆者上面的步驟。後來以“ping 不通外網”來搜索出來的帖子有瞭解決方案,詳細歡迎點擊鏈接。 https ...
  • 搜索時要輸入完整路徑,即目錄或文件名 下麵是find命令的模糊查詢: 通配符另一種用法: 有’碼‘或者有’程‘的都能查出來 name 前面加上’i‘,忽略大小寫: 查看文件不足1k的文件: 1k以上: 通過inum查文件: 查大於20k小於50k的文件: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...