linux在文件中查找字段命令,全局搜索關鍵字命令_linux全局搜索命令有哪些?

 2023-10-06 阅读 25 评论 0

摘要:請關注本頭條號,每天堅持更新原創干貨技術文章。linux在文件中查找字段命令。如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習1. 前言vim搜索關鍵字。本文主要介紹Linux系統下有哪些全局搜索命令,并講解相關命令的使用方法與日常使用案

請關注本頭條號,每天堅持更新原創干貨技術文章。

linux在文件中查找字段命令。如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

vim搜索關鍵字。本文主要介紹Linux系統下有哪些全局搜索命令,并講解相關命令的使用方法與日常使用案例。

我們先來了解一下Linux下主要的5個全局搜索的命令工具。他們分別是find,locate,grep,which,whereis

vim查找上一個關鍵詞、其中,find是一個強大實時搜索工具,Linux支持的文件類型它都可以搜索到,locate一般是搜索文件,grep一般是搜索文本文件,which和whereis一般是用于搜索程序相關的文件內容。

e6983cda0116280e1a5a56c935edc0f5.png

linux全局搜索命令

2. Linux使用find命令全局搜索文件

find命令在某個目錄下查找。

一般使用格式:

find 

-pathname:所要查找的目錄及其所有子目錄(默認遞歸查找)。默認為當前目錄。

-option:指定參數。

-filetype:想要查找的文件類型。

-action:對查找結果進行的處理。

在linux的日常管理中,使用find命令全局搜索文件的使用頻率很高,熟練掌握以及靈活運用對提高工作效率很有幫助。

find的語法比較簡單,常用參數的就那么幾個,比如-name、-type、-ctime等。本文只是介紹其中一些常用的使用案例,如果需要更多的幫助,請參考find的使用手冊。

2.1 Linux使用`find`命令根據文件名全局搜索文件

搜索當前目錄下名字為mypic.png的文件

[root@zcwyou ~]# find . -name "mypic.png"

搜索當前目錄下所有的jpg文件

[root@zcwyou ~]# find . -name "*.jpg"

搜索當前目錄下的jpg文件和png文件

[root@zcwyou ~]# find . -name "*.jpg" -o -name "*.png"

搜索當前目錄下不是以png結尾的文件

[root@zcwyou ~]# find . ! -name "*.png"

2.2 使用`find`命令根據正則表達式全局查找文件

搜索當前目錄下,文件名以數字+png后綴結尾的文件。

[root@zcwyou ~]# find . -regex "./*[0-9]+.png" 

2.3 使用`find`命令和指定的目錄路徑查找文件

搜索當前目錄下,路徑中包含folder的文件/路徑。

[root@zcwyou ~]# find . -path "*folder*"

2.4 使用`find`命令根據文件類型查找

通過-type進行文件類型的過濾。

  • f 普通文件
  • l 符號連接
  • d 目錄
  • c 字符設備
  • b 塊設備
  • s 套接字
  • p Fifo

比如,搜索當前目錄下,路徑中包含zcwyou的文件

[root@zcwyou ~]# find . -type f -path "*zcwyou*"

2.5 Linux根據搜索深度查找文件

搜索當前目錄下所有以txt后綴結尾的文件,不包括子目錄。

[root@zcwyou ~]# find . -maxdepth 1 -name "*.txt"

相對應的,也是mindepth選項。

[root@zcwyou ~]# find . -mindepth 2 -maxdepth 2 -name "*.png"

2.6 Linux使用`find`命令根據文件大小搜索文件

通過-size來過濾文件尺寸。支持的文件大小單元如下

- b 表示塊(512字節)

- c 表示字節

- w 表示字(2字節)

- k 表示千字節

- M 表示兆字節

- G 表示吉字節

比如,使用find命令搜索當前目錄下文件大小超過100M的文件

[root@zcwyou ~]# find . -type f -size +100M 

2.7 根據文件的訪問、修改、變化時間全局搜索文件

支持下面的時間類型。

  • 訪問時間(-atime/天,-amin/分鐘):用戶最近一次訪問時間。
  • 修改時間(-mtime/天,-mmin/分鐘):文件最后一次修改時間。
  • 變化時間(-ctime/天,-cmin/分鐘):文件數據元(例如權限等)最后一次修改時間。

全局查找的案例1:搜索1天內被修改過的文件

[root@zcwyou ~]# find . -type f -mtime -1

全局查找的案例2:搜索最近1周內被訪問過的文件

[root@zcwyou ~]# find . -type f -atime -7

將日志目錄里超過一周的日志文件,移動到/tmp/log里。

[root@zcwyou ~]# find . -type f -mtime +7 -name "*.log" -exec mv {} /tmp/log ;

注意:{} 用于與-exec選項結合使用來匹配所有文件,然后會被替換為相應的文件名。

另外,;用來表示命令結束,如果沒有加,則會有如下提示

find: -exec: no terminating ";" or "+"

關于find命令更多的使用方法請參考本站的另一帖

Linux find命令查找文件34個實用案例

c53eca4141be8a42ff41fc555e778d25.png

根據文件的訪問、修改、變化時間全局搜索文件

3. Linux使用`locate`命令全局搜索文件

locate命令在系統的全局范圍內查找。

一般使用格式:

locate  

-option:指定參數。

-filetype:想要查找的文件類型。

locate常用參數

-d:指定要查找的數據庫路徑

-h: 顯示輔助訊息

-i:忽略大小寫

-q:安靜模式,不會顯示任何錯誤訊息。

-n:至多顯示 n個輸出。

-r: 使用正規運算式 做尋找的條件。

-o: 指定資料庫存的名稱。

-V: 顯示程式的版本訊息

簡單的使用案例:

[root@zcwyou ~]# locate abc.txt

/usr/share/123/456/abc.txt

提示

locate是從數據庫中讀取數據,而不是從文件系統中讀取。從數據庫中讀取時是讀取updatedb命令返回的結果:

而updatedb命令默認是一天(24小時)才自動運行一次,這就意味著如果是最新創建的文件,使用locate命令可能查找不到。

所以在使用locate命令前,先手動運行updatedb命令(需要root權限),非root用戶可以借助sudo取得root權限:

[root@zcwyou ~]# updatedb
e80f147f6a9c56c40bcbf9979c98753e.png

Linux使用locate命令全局搜索文件

4. Linux使用`grep`命令對文本文件進行全局搜索關鍵字

和find及locate命令不同的是,grep命令是在指定文件中搜索特定的內容,然后將包含有這些匹配內容的行輸出到標準輸出。如果不指定文件名,則從標準輸入讀取內容。grep命令經常和find等命令結合使用,其中grep常充當“過濾器”的角色。

grep命令常用參數

-c: 只輸出匹配行的行數。

-h: 查詢多文件時不顯示文件名。

-I: 不區分大小寫(只適用于單字符)。

-n: 顯示匹配的行和行號。

-s: 不顯示 不存在或無匹配文本 的錯誤信息。

-v: 反向匹配,即顯示不包含匹配文本的所有行。

-R: 遞歸查詢,即連同子目錄中的文件一起查詢。

使用案例:

在當前目錄下遞歸查找包含字符串"hello"的所有文件,并顯示匹配行的行號

格式:grep -Rn "搜索的關鍵字" ~

例如:

[root@zcwyou ~]# grep -Rn "www.linurumen.com" ~
313ee43ea88cff861e19d3a643661586.png

Linux使用grep命令對文本文件進行全局搜索關鍵字

5. 使用`which`命令全局搜索linux程序文件

which命令將在PATH變量指定的路徑中 查找某個系統命令的位置,并且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

例如,查看當前環境下使用的是哪個bash:

[root@zcwyou ~]# which passwd

6. 使用`whereis`命令全局搜索linux程序文件

whereis命令用來定位二進制文件(參數-b)、源代碼文件(參數-s)和幫助手冊文件(即man文件,參數-m)。如果省略參數,則返回所有信息。

whereis命令使用案例

[root@zcwyou ~]# whereis bash

7. 總結:

上面介紹的linux全局搜索命令有5個,每個都有特定的功能,每一個系統運維人員都要牢記和掌握它的使用方法,隨時能高效查找和搜索目標文件。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/122447.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息