Linux檔案搜尋命令

2021-07-24 02:25:17 字數 2674 閱讀 2705

今天繼續分享linux常用命令,搜尋相關命令,首先來看第乙個命令

一 find :搜尋檔案或目錄

語法: find [搜尋範圍] [匹配條件]

1 find /etc -name init 在etc目錄下搜尋名字為init的檔案或目錄,如下:

我們看到了相應的搜尋結果,但是這只是搜尋確定名字的檔案或目錄,如果我想搜尋檔名中包含init的怎麼辦呢,很簡單,用*號即可

*號代表任意字元,?代表單給字元,比如我們想搜尋init後面跟著四個字元的檔案或目錄

這裡可以看到結果了,我們知道linux是嚴格區分大小寫的,那麼如果我想搜尋init的檔案,需要用-iname,-iname表示不區分大小寫,比如我先建立乙個init的檔案,然後搜尋它

我們看到成功搜尋到了。

2 find / -size +204800 在根目錄下搜尋大於100m的檔案,+n代表大於,-n代表小於,=n代表等於

n的一位代表512個位元組,也就是0.5k,100m就是102400k,換算成n就是204800了,如下:

我們看搜尋到了大於100m的檔案

3 find /home -user fuqiang1 搜尋home目錄下所有者為fuqiang1的檔案或目錄

find /home -group fuqiang1 搜尋home目錄下所屬組為fuqiang1的檔案或目錄

4 find /etc -cmin -5 查詢etc目錄下5分鐘之內被修改過屬性的檔案和目錄

-amin 代表訪問時間 -cmin代表檔案屬性 -mmin代表檔案內容

5 -type 根據檔案型別查詢,f代表普通檔案,d代表目錄,l代表軟連線檔案

6 -inum 根據i節點查詢

在etc下查詢大於80m,小於100m的檔案

-a代表兩者同時滿足

-o代表兩個滿足乙個即可

搜尋當前目錄下檔名為fuqiang.list的檔案,然後直接ls -l命令列出詳細資訊

-exec/-ok 對執行結果進行操作,-exec直接操作,-ok會先詢問

好了,find命令常用方法就介紹到這裡,下面看第二個命令

二 locate:在檔案資料庫中查詢檔案

用法:locate inittab

那麼這個locate跟find有什麼不同呢,locate是在檔案資料庫中查詢,也就是不是真正在磁碟上查詢,這樣速度會快很多,那麼這個檔案資料庫在**呢,我們執行locate locate看一下

這裡我們看到乙個mlocate.db的檔案,這個就是檔案資料庫,linux系統會定期把檔案的資料同步到這裡,下面看乙個問題,比如我新建乙個檔案,然後locate這個檔案,分兩種情況,我先在tmp下建乙個檔案

我們發現在tmp路徑下的檔案查不到,這是因為這個路徑下的檔案不會被放到檔案資料庫中,那麼我在其他目錄下建乙個檔案

怎麼依然locate不到呢,是因為新建的檔案並不會立刻被同步到檔案資料庫中,那麼我們執行updatedb,新建的檔案就會同步進去了

我們看到搜尋結果了,如果不區分大小寫呢,用-i

好了,locate命令就介紹到這裡,看下乙個命令

三 which:搜尋命令所在路徑及別名資訊

which 命令

我這裡沒有看到別名資訊,不知道是不是我linux髮型版的問題

四 whereis:搜尋命令所在路徑及幫助文件

whereis 命令

前面是命令所在路徑,後面是幫助文件

五 grep:在檔案中搜尋字元匹配的行並輸出

-i不區分大小寫,-v排除指定字串

grep -i if rc.local 查詢rc.local檔案中包含if的行,如下

grep -v ^# rc.locat 排除rc.local檔案中以#開頭的行,如下:

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檔案搜尋命令

又要開始linux命令了!gogo locate 檔名 在後台資料庫中按檔名搜尋,搜尋速度更快。注意 只能夠按照檔名搜尋 q 在這裡我發現,搜尋第乙個檔案的時候是可以搜尋出來的,但我新建了乙個檔案,再搜尋就搜尋不出來了,這是為什麼呢?a 原來locate命令是從 var lib mlocate這個資...