Linux下find(檔案查詢)命令使用例項總結

2021-07-17 05:14:22 字數 3445 閱讀 1041

find在不指定查詢目錄的情況下是對整個系統進行遍歷查詢

使用格式

:find  [-path……]        -options    [-print -exec -ok] 

翻譯成中文就是

find[

指定查詢目錄

][查詢規則

][查詢完後執行的

action]

path:要查詢的目錄路徑。 

~ 表示$home目錄

. 表示當前目錄

/ 表示根目錄 

print:表示將結果輸出到標準輸出。 

exec:對匹配的檔案執行該引數所給出的shell命令。 

形式為command {} \;,注意{}與\;之間有空格 

ok:與exec作用相同,

區別在於,在執行命令之前,都會給出提示,讓使用者確認是否執行 

options常用的有下選項: 

-name:按照名字查詢 

-perm:安裝許可權查詢 

-prune:不再當前指定的目錄下查詢 

-user:檔案屬主來查詢 

-group:檔案所屬組來查詢 

-nogroup:查詢無有效所屬組的檔案 

-nouser:查詢無有效屬主的檔案 

-type:按照檔案型別查詢 

介紹下檔名通配的知識

*表示  通配任意的字元

?表示  通配任意的單個字元

[ ] 表示 通配括號裡面的任意乙個字元

萬用字元使用舉例:

下面將會用這些find命令用法一一舉例:1、按名字查詢

#  -name       //根據檔名查詢(精確查詢)

#  -iname       //根據檔名查詢,但是不區分大小寫 

在當前目錄及子目錄中,查詢小寫字母開頭的txt檔案

在/home及其子目錄中,查詢小寫字母開頭的txt檔案

在$home目錄及其子目錄中,查詢所有檔案

在當前目錄及子目錄中,查詢不是th開頭的txt檔案

2、按目錄查詢

在當前目錄除code之外的子目錄內搜尋 txt檔案 

在當前目錄及除code和codetest之外的子目錄中查詢txt檔案

在當前目錄,不再子目錄中,查詢txt檔案 

3、按許可權查詢

在當前目錄及子目錄中,查詢屬主具有讀寫執行,其他具有讀執行許可權的檔案

4、按型別查詢

在當前目錄及子目錄下,查詢符號鏈結檔案 

5、按屬主及屬組

查詢屬主是admin的檔案

查詢屬主被刪除的檔案 

查詢屬組mysql的檔案

查詢使用者組被刪掉的檔案 

6、按時間查詢

查詢1天內被更改過的檔案

查詢1天前被更改過的檔案

查詢一天內被訪問的檔案

查詢一天前被訪問的檔案

查詢一天內狀態被改變的檔案 

查詢一天內狀態被改變的檔案

find . -ctime +1 -type f -print 

查詢10分鐘以前狀態被改變的檔案

find . -cmin +10 -type f -print

7、按檔案新舊

查詢比aa.txt新的檔案

find . -newer "aa.txt" -type f -print 

查詢比aa.txt舊的檔案

find . ! -newer "aa.txt" -type f -print

查詢比aa.txt新,比bb.txt舊的檔案 

find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print

8、按檔案大小查詢

查詢超過1m的檔案

find / -size +1m -type f -print 

查詢等於6位元組的檔案

find . -size 6c -print 

查詢小於32k的檔案

find . -size -32k -print

9、執行命令

查詢del.txt並刪除,刪除前提示確認

find . -name 'del.txt' -ok rm {} \;

查詢aa.txt 並備份為aa.txt.bak

find . -name 'aa.txt' -exec cp {} {}.bak \;

參考文章

終於完了,太多了!!!

Linux下比find快N倍的檔案查詢命令

使用linux作業系統的人,一般都用過檔案查詢命令find,在檔案數量非常龐大的時候,比如在高通的 android工程專案中,目錄大小有十幾個g,檔案數量非常多,用find命令就太慢了。下面介紹乙個比find快得多的命令,搜尋任何檔案幾乎都能在一秒內返回,時間複雜度o 1 mlocate 這個命令的...

linux下查詢檔案命令find

linux下查詢檔案命令find 這個命令語法看起來很容易就明白了,就是直接在find後面寫上 name,表明要求系統按照檔名查詢,最後寫上httpd.conf這個目標檔名即可。稍等一會系統會在計算機螢幕上顯示出查詢結果列表 這就是httpd.conf這個檔案在linux系統中的完整路徑。查詢成功。...

Linux下的檔案查詢命令 find

find實際搜尋硬碟查詢檔案名稱 通常情況下 find 命令並不是很常用,大家都優先使用 whereis 和locate 命令來查詢,因為 whereis 和locate 命令都是利用資料庫來查詢檔案所在,並沒有實際查詢硬碟,所以速度很快,節省時間。但是我們的 find 命令依然很強大,它的查詢條件...