文件的搜索

来源:http://www.cnblogs.com/aubin/archive/2017/08/02/7277362.html
-Advertisement-
Play Games

在使用Linux系統時,有時會因為文件創建時間很久,而記不得全全名,只能記得模糊的幾個關鍵字時,就可以使用文件查找命令來進行快速搜索。Linux提供最常用的搜索方有兩個工具locate與find。不過在日常中還是使用find比較多,因為他具有時效性。 一、 locate locate的搜索是基於數據 ...


在使用Linux系統時,有時會因為文件創建時間很久,而記不得全全名,只能記得模糊的幾個關鍵字時,就可以使用文件查找命令來進行快速搜索。Linux提供最常用的搜索方有兩個工具locate與find。不過在日常中還是使用find比較多,因為他具有時效性。

一、 locate

locate的搜索是基於資料庫的,資料庫會在系統空閑時每天更新一次。locate是非時效性的(新文件沒有加入資料庫導致不能被查找到)。

1. 特點

可以模糊查找、查找速度快、搜索匹配的是文件的全路徑,不只是文件名

2. 手動更新資料庫

手動更新會占用系統資源,所以要在系統空閑時進行更新

[root@centos7 app]# updatedb

4. 搜索

[root@centos7 app]# locate -i aubin                             # -i不區分大小寫
[root@centos7 app]# locate -i aubin -n 10                       # -n 只顯示前幾個
[root@centos7 app]# locate -r '\.conf$'                         # -r 支持正則表達式

二、 find

1. 特點

查找速度慢、精確查找、具有時效性

2. 命令格式

find <路徑> <選項> <動作>

3. 命令選項

  • 查找深度,搜索的目錄層級

    [root@centos7 app]# find -maxdepth
    [root@centos7 app]# find -mindepth
    [root@centos7 app]# find / -name aubin
  • 指定目錄/文件名
    支持使用glob *, ?, [], [^] ( [ ]為匹配單個字元的範圍)

    [root@centos7 app]# find / -name aubin
    [root@centos7 app]# find / -name a?c
    /sys/fs/selinux/avc
    [root@centos7 app]# find / -name [etc]
    /var/lib/yum/yumdb/t
    /var/lib/yum/yumdb/e
    /var/lib/yum/yumdb/c
    #
    -inum n 按inode號查找
    -samefile filename 與filename文件相同inode號的文件
    -links n 鏈接數為n的文件
    -regex "PATTERN":以PATTERN匹配整個文件路徑字
  • 查找條件

    -user USERNAME                  #查找屬主為指定用戶(UID)的文件
    -group GRPNAME                  #查找屬組為指定組(GID)的文件
    -uid UserID                     #查找屬主為指定的UID號的文件
    -gid GroupID                    #查找屬組為指定的GID號的文件
    -nouser                         #查找沒有屬主的文件
    -nogroup                        #查找沒有屬組的文件
    -type
    f: 普通文件 
    d: 目錄文件 
    l: 符號鏈接文件 
    s:套接字文件 
    b: 塊設備文件 
    c: 字元設備文件 
    p: 管道文件
  • 或與非

    與:-a
    或:-o
    非:-not, !
  • 或的實際應用
    在使用-o 時如果後面要跟動作,要加括弧,如下麵例子,否則的話只會輸出靠近ls的搜索結果

[root@centos7 app]# find /  -user li -o -user aubin -exec ls -al {} \; 
[root@centos7 app]#  find /  \( -user li -o -user aubin \) -exec ls -al {} \;
  • 按大小查找

    -size  nk                    #(n-1k,nk]
    -size  10k                   #(9k,10k]
    -size -10k                   #[0k,10k]
    -size +10k                   #(10k,無窮)
    #
    -size 1024k                  #(1023k,1024k]
    -size 1M                     #(0M,1M]
  • 按時間戳排序

    #以天為單位
    -atime
    -mtime
    -ctime
    [root@centos7 app]# find /app/ -atime 1
    [root@centos7 app]# find /app/ -atime +1
    [root@centos7 app]# find /app/ -atime -1
    #
    #以分鐘為單位
    -amin -mmin -cmin

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

-Advertisement-
Play Games
更多相關文章
  • 一.MS SQL SERVER 2005 --1.清空日誌 exec('DUMP TRANSACTION 資料庫名 WITH NO_LOG') --2.截斷事務日誌: exec('BACKUP LOG 資料庫名 WITH NO_LOG') --3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小 e ...
  • HISAT samtools HTSeq ...
  • https://trace.ncbi.nlm.nih.gov/Traces/study/?acc=PRJNA323422 lne是perl的參數,效果是: perl接收你的鍵盤輸入(用後面的代碼)處理後,輸出一個換行,然後等待接收下一個輸入 perl -lne '$id=substr($_,0,6) ...
  • 在終端輸入 來創建配置文件 按i插入 插入以下內容(用戶數任意,註意最後一個用戶密碼後面沒有逗號) {"server":"my_server_ip", #填入你的IP地址"local_address": "127.0.0.1","local_port":1080,"port_password": { ...
  • 1.創建一個本地項目,比如/d/text文件夾 2.建立本地倉庫 首先進入text文件夾 初始化執行指令: 將所有文件添加到倉庫執行指令: 執行指令(雙引號內是提交註釋): git commit -m "提交文件" 執行指令(雙引號內是提交註釋): 3.關聯github倉庫 到github text ...
  • sratookit 下載後解壓 移動到專門安裝生物信息軟體的目錄下 加入環境變數 測試 下載測試文件SRR390728,預設存放在家目錄下的ncbi文件夾中 轉換sra文件的套路: -O 指定輸出路徑 --gzip 指定輸出格式為gzip壓縮格式(fastqc軟體可以直接識別gzip壓縮的文件) - ...
  • 1.創建用戶 groupadd sftp 2.添加用戶並設置為sftp組 useradd -g sftp -s /sbin/nologin -M sftp (/sbin/nologin為禁止登錄shell的用戶) 3.設置用戶密碼 passwd sftp 4.創建用戶目錄。並設置許可權。 cd /ho ...
  • LNMP編譯安裝之php安裝--圖文詳解 1、前言 本次安裝採用源碼安裝,主要資源包從官網下載,次要依賴則使用yum進行安裝,本篇只涉及php的安裝,不涉及php的配置,對應nginx如何訪問php,本篇也不涉及。該教程純屬安裝,不涉及任何重要知識點,老少皆宜。 2、安裝步驟 php官網:http: ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...