linux find指令常見用法示例

2022-05-23 03:33:19 字數 2490 閱讀 8170

linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。linux下find命令提供了相當多的查詢條件,功能很強大。由於find具有強da的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網路檔案系統( nfs) ,find命令在該檔案系統中同樣有效,只你具有相應的許可權。 在執行乙個菲常消耗資源的find命令時,很多人都傾向於把它放在後台執行,因為遍歷乙個大的檔案系統可能會花費很多的時間( 這裡是指30g位元組以上的檔案系統) 。

1.命令格式:find pathname -options [ -print -exec -ok ...]

2.命令功能:用於在檔案樹種查詢檔案,並作出相應的處理(可能訪問磁碟)

3.命令引數:pathname: find命令所查詢的目錄路徑。例如用. 來表示當前目錄,用/來表示系統根目錄。 

-print: find命令將匹配的檔案輸出到標準輸出。

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

-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每乙個命令之前,都會給出提示,讓使用者來確定是否執行。

4.命令選項:

-name     按照檔名查詢檔案。

-perm    按照檔案許可權來查詢檔案。

-prune 使用這一選項可以使find命令不在當前指定的目錄中查詢,如果同時使用-depth選項,那麼-prune將被find命令忽略。

如果想列印當前目錄(/home/admin/code)下的除test.c之外的檔案:

#按檔案屬主來查詢

#按所屬組來查詢

-nogroup 查詢無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。

-nouser     查詢無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。

-mtime -n +n 按照檔案的更改時間來查詢檔案, - n表示檔案更改時間距現在n天以內, + n表示檔案更改時間距現在n天以前。 find命令還有-atime和-ctime 選項,但它們都和-m time選項相同。

檢視最近兩天內改動過的檔案

-newer file1 ! file2 查詢更改時間比檔案file1新但比檔案file2舊的檔案。

-type 查詢某一型別的檔案,諸如:

b - 塊裝置檔案。

d -目錄。

c - 字元裝置檔案。

p - 管道檔案。

l - 符號鏈結檔案。

f - 普通檔案。

-size n: [c] 查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。

-fstype:查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案/etc/fstab中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。

-mount:在查詢檔案時不跨越檔案系統mount點。

-follow:如果find命令遇到符號鏈結檔案,就跟蹤至鏈結所指向的檔案。

-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。

1. 在/code目錄中查詢更改時間在5天以前的檔案並刪除它們:

2. linux 用find命令查詢檔案大小為xx的檔案的辦法

例如:乙個檔案5556位元組,可以這樣寫

find /root -size -5557c -size +5555c -exec ls -ld {} \;

find /root -size -500k -size +50k -exec ls -ld {} \;

linux find命令用法

find maxdept 1 name test.txt 查詢當前目錄下第一級目錄的test.txt檔案 type 指定檔案型別查詢 f 代表檔案 type f name txt 查詢 txt的檔案 mtime 時間 後面加時間表示多久以前修改的,加在最後 mtime 時間 代表幾天之內修改的 ex...

linux find用法詳解

linux 中find 常用示例解析 find h l p d debugopts olevel path expression 其實 h l p d debugopts olevel 這幾個選項並不常用 至少在我的日常工作中,沒 有用到過 上面的find命令的常用形式可以簡化為 find path...

Linux find命令用法小結

find是個使用頻率比較高的命令。常常用它在系統特定目錄下,查詢具有某種特徵 名字體別屬主許可權等 的檔案。find命令的格式 find path options print exec ok path 要查詢的目錄路徑。表示 home目錄.表示當前目錄 表示根目錄 print 表示將結果輸出到標準輸...