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 表示將結果輸出到標準輸...