Linux檔案搜尋命令

2021-07-10 05:59:52 字數 2995 閱讀 3538

又要開始linux命令了!gogo

locate 檔名   :在後台資料庫中按檔名搜尋,搜尋速度更快。  (注意:只能夠按照檔名搜尋)

q:在這裡我發現,搜尋第乙個檔案的時候是可以搜尋出來的,但我新建了乙個檔案,再搜尋就搜尋不出來了,這是為什麼呢?

a:原來locate命令是從/var/lib/mlocate這個資料庫中進行搜尋的,這樣就不用遍歷作業系統了,所以速度很快,因為這個資料庫是一天一更新,所以剛剛新增的cangls檔案就不會搜尋出來了。

(but)但有的時候我並不想等一天之後再搜尋到這個檔案,這時候我可以執行updatedb命令進行資料庫的強制更新,這樣就能查詢到剛剛建立的檔案了。

whereis 命令名  : 搜尋命令所在的路徑及幫助文件所在的位置

選項:-b:只查詢可執行檔案

-m:只查詢幫助檔案

which 命令名: 它會返回這個命令的別名,還有所在的位置。如果沒有別名就直接返回所在的位置

whereis可以查詢到命令的幫助文件,而which可以查詢到命令的別名。

find [搜尋範圍] [搜尋條件]

#搜尋檔案

find / -name install.log

# 避免大範圍搜尋,會非常耗費系統資源

#find是系統當中搜尋符合條件的檔名。如果需要匹配,使用萬用字元匹配,萬用字元是

完全匹配

在根目錄下搜尋檔名是anaconda-ks.cfg的檔案,搜尋速度非常慢,所以要

避免大範圍的搜尋

* :匹配任意內容

?:匹配任意乙個字元

:匹配任意乙個中括號內的字元

比如我搜尋anaconda-ks.cfg時,只能搜尋出乙個檔案而不能搜尋出anaconda-ks.cfg.aa,使用了萬用字元之後就能搜出來了。

find /root -iname install.log

#不區分大小寫查詢。(linux是嚴格區分大小寫)

find /root -user root (查詢root目錄下所有者是root的檔案)

#按照所有者查詢

find /root -nouser

#查詢沒有所有者的檔案

find /var/log/ -mtime +10

#查詢10天前修改的檔案

-10 10天內修改的檔案

10 10天當天修改的檔案

+10 10天前修改的檔案

atime  檔案訪問時間

ctime  改變檔案屬性

mtime 修改檔案內容

find . -size 25k

#在當前目錄查詢檔案大小是25kb的檔案

-25k 小於25kb的檔案

25k 等於25kb的檔案

+25 大於25kb的檔案

find . -inum 262422

#查詢i節點是262422的檔案

#查詢/etc/目錄下,大於20kb並且小於50kb的檔案

-a and 邏輯與,兩個條件都滿足

-o or    邏輯或,兩個條件滿足乙個即可

#查詢/etc/目錄下,大於20kb並且小於50kb的檔案,並顯示詳細資訊

#-exec/-ok 命令 {}\;  對搜尋結果執行操作

例子:find /root -inum 262421 -exec rm -rf {} \;  (將查詢的資料直接刪除)

搜尋字串命令grep

grep [選項] 字串 檔名

#在檔案當中匹配符合條件的字串

選項:-i :忽略大小寫

-v:排除指定字串(取反)

q:find命令與grep命令的區別

a:find命令:在系統當中搜尋符合條件的檔名,如果需要匹配,使用萬用字元,萬用字元是完全匹配。

grep命令:在檔案當中搜尋符合條件的字串,如果需要匹配,使用正規表示式進行匹配,正規表示式時包含匹配。

man 命令

#獲取指定命令的幫助

man ls

#獲取ls命令的幫助

man -f 命令 相當於 whatis 命令

命令 --help

#獲取命令選項的幫助

例如:ls --help

help shell內部命令

#獲取shell內部命令的幫助

例如:whereis cd

#確定是否是shell內部命令

help cd

#獲取內部命令幫助

linux檔案搜尋命令和命令搜尋命令

1.locate 速度快 find 搜尋全部檔案 1 locate 檔名 在後台資料庫中按檔名搜尋 2 資料庫所在位置 var lib mlocate 可以切換到該目錄下看看 3 用命令updatedb更新後台資料庫 4 配置檔案在 etc updatedb.config 開啟檔案搜尋位置限制時可以...

linux 檔案搜尋命令

1,locate 檔名 1 如果touch乙個檔案,locate不會搜尋出來,是因為這個不是實時查詢的,他是搜尋的檔案資源庫在 var lib molcate mlocate.db中,需要updatedb更新一下db這個檔案 2 locate不能查詢tmp目錄下的檔案 i 不區分大小寫 2,whic...

Linux檔案搜尋命令

1.locate 搜尋速度比較快,locate 檔名。它是否能搜尋我新建的檔案呢?找不到,因為locate命令不是直接在系統中去搜尋,而是在 vat lib mlocate 這裡面儲存的是locate的資料庫 這個資料庫中搜尋,搜尋資料庫的好處是不需要遍歷我的整個作業系統。所以locate搜尋檔案的...