Linux下find命令使用例項

2021-07-17 05:25:27 字數 2706 閱讀 4439

linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。linux下find命令提供了相當多的查詢條件,功能很強大。即使系統中含有網路檔案系統,find命令在該檔案系統中同樣有效。 

在執行乙個非常消耗資源的find命令時,很多人都傾向於把它放在後台執行,因為遍歷乙個大的檔案系統可能會花費很長的時間。

命令格式:find 路徑 -命令引數 [輸出形式]

常用引數:

1. -name 按照檔名查詢檔案。

檔名選項是find命令最常用的選項,要麼單獨使用該選項,要麼和其他選項一起使用。  可以使用某種檔名模式來匹配檔案,記住要用引號將檔名模式引起來。
不管當前路徑是什麼,如果想要在自己的根目錄$home中查詢檔案名符合.c的檔案,使用~作為 'pathname'引數,波浪號~代表了你的$home目錄。
find ~ -name "*.log" -print 

想要在當前目錄及子目錄中查詢所有的「.c」檔案,可以用:
find . -name "*.c

" -print  

想要在當前目錄及子目錄中查詢檔案名以乙個小寫字母開頭的檔案,可以用:
find . -name "[a-z

]*" -print  

想要查詢$home目錄中的檔案,可以用:
find ~ -name "*" -print
想要查詢當前目錄中的檔案,可以用:
find . -print
如果想在當前目錄查詢檔案名以乙個個小寫字母開頭,最後是0到9加上.c結束的檔案:
find . -name "[a-z]*[0-9].c" -print
2. -perm 按照檔案許可權來查詢檔案。
按照檔案許可權模式用-perm選項,按檔案許可權模式來查詢檔案的話。最好使用八進位制的許可權表示法。  

如在當前目錄下查詢檔案許可權位為664的檔案,即檔案屬主和使用者組可以讀、寫,其他使用者可以讀的檔案,可以用:
find . -perm 664 -print
3. -prune 如果在查詢檔案時希望忽略某個目錄,因為你找到那個目錄中沒有那你所要查詢的檔案,那麼可以使用-prune選項來指出需要忽略的目錄。在使用-prune選項時要當心,因為如果你同時使用了-depth選項,那麼-prune選項就會被find命令忽略。
如果希望在dir1目錄下查詢檔案,但不希望在mydir目錄下查詢,可以用:
find dir1 -path "mydir" -prune -o -print
4. -user 按照檔案屬主來查詢檔案。

如果希望在$home目錄下查詢檔案屬主為bob的檔案,可以用:

find ~ -user bob -print
如果希望在當前目錄下查詢檔案屬主為bob的檔案,可以用:
find . -user bob -print

5. -group 按照檔案所屬的組來查詢檔案。

在當前目錄下查詢屬於root使用者組的檔案,可以用:

find . -group root -print

6. -type 查詢某一型別的檔案,諸如:b-塊裝置檔案;d-目錄;c-

字元裝置

檔案;p-管道檔案;l-符號鏈結檔案;f-普通檔案;s-socket檔案。

在當前目錄下查詢所有的目錄,可以用:

find . -type d -print

在當前目錄下查詢所有的普通檔案,可以用:

find . -type f -print
7. -size n[c] 可以按照檔案長度來查詢檔案,這裡所指的檔案長度既可以用塊(block)來計量,也可以用位元組來計量。以位元組計量檔案長度的表達形式為n c;以塊計量檔案長度只用數字表示即可。

按照檔案長度查詢檔案時,一般使用這種以位元組表示的檔案長度,在檢視檔案系統的大小,因為這時使用塊來計量更容易轉換。

在當前目錄下查詢檔案長度大於2000位元組的檔案,可以用:
find . -size +2000c -print
在當前目錄下查詢檔案長度等於4096位元組的檔案,可以用:
find . -size 4096c -print
8. -depth 在查詢檔案時,首先查詢

當前目錄

中的檔案,然後再在其子目錄中查詢。

9.-exec: find命令對匹配的檔案執行引數所給出的shell命令。相應命令的形式為'command'  \;,注意和\;之間的空格。

如果想在當前目錄查詢檔案名以乙個個小寫字母開頭,最後是0到9加上.c結束的檔案並刪除,可以用:

find . -name "[a-z]*[0-9].c" -exec rm {} \;

Linux下find命令的使用

1 已經知道檔案所在的目錄以及檔名的關鍵字 示例 實現在當前目錄下以及所有子目錄下匹配檔名前幾個字母為 nmsagent 的檔案,並顯示其詳細的資訊。root localhost bin find name nmsagent exec ls l rwxr r 1 root root 1693456 ...

linux下find命令詳解

linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。linux下find命令提供了相當多的查詢條件,功能很強大。linux中find常見用法示例 find path option print exec ok command print 將查詢到的檔案輸出到標準輸出 exec comman...

Linux下find命令詳解

linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。linux下find命令提供了相當多的查詢條件,功能很強大。linux中find常見用法示例 find path option print exec ok command print 將查詢到的檔案輸出到標準輸出 exec comman...