參考部落格:
linux 下 find 命令在目錄結構中搜尋檔案,並執行指定的操作。linux 下 find 命令提供了相當多的查詢條件,功能很強大。由於 find 具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中包含有網路檔案系統(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.命令選項:
用man find可以檢視find的使用文件,內容太多,我只截部分.
-name 按照檔名查詢檔案
-perm 按照檔案許可權來查詢檔案
-prune 使用這一選項可以使find 命令不在當前指定的目錄中查詢,如果同時使用 -depth 選項,那麼 -prune 將被 find 命令忽略
-user 按照檔案屬主來查詢檔案
-group 按照檔案所屬的組來查詢檔案
-mtime -n +n 按照檔案的更改時間來查詢檔案, - n 表示更改時間距現在 n 天以內, + n 表示檔案更改時間距現在 n 天以前。
find 命令還有 -atime和-ctime 選項,但他們都和 -m time 選項類似。
-nogroup 查詢無有效所屬組的檔案,即該檔案所屬的組在 /etc/groups 中不存在。
-nouser 查詢無有效屬主的檔案,即該檔案的屬主在 /etc/passwd 中不存在。
-newer file1 ! file2 查詢更改時間比檔案 file1 新但比檔案 file2 舊的檔案。
-type 查詢某一型別的檔案,諸如:
b 塊裝置檔案
d 目錄
c 字元裝置檔案
p 管道檔案
l 符號鏈結檔案
f 普通檔案
-size n:[c] 查詢檔案長度為 n 塊的檔案,帶有 c 時表示檔案長度以位元組計。 -depth:在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢。
-fstype 查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案 /etc/fstab 中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。
-mount 在查詢檔案是不跨越檔案系統mount點
-follow 如果find 命令遇到符號鏈結檔案,就跟蹤至鏈結所指向的檔案。
-cpio 對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。
另外,下面三個的區別:
-amin n 查詢系統中最後n分鐘訪問的檔案
-atime n 查詢系統中最後 n*24 小時訪問的檔案
-cmin n 查詢系統中最後 n 分鐘被改變檔案狀態的檔案
-ctime n 查詢系統中最後 n*24小時被改變檔案狀態的檔案
-mmin n 查詢系統中最後 n 分鐘被改變檔案資料的檔案
-mtime n 查詢系統中最後 n*24 小時被改變檔案資料的檔案
5.使用例項:
我的檔案結構如下:
在桌面上新建了bery資料夾,通過find ~/desktop/bery/檢視bery目錄下的所有檔案和資料夾.
例項1:查詢指定時間內修改過的檔案
命令:find -atime -2 查詢48小時內修改過的檔案
例項2:根據關鍵字查詢
命令:find . -name "*.log" 在當前目錄查詢以 .log 結尾的檔案。 「.」 代表當前目錄
例項3:按照型別查詢
命令:find . -type f -name "*.log" 查詢當前目錄中以 .log 結尾的 普通檔案
每天乙個linux命令(find)
find 查詢指定目錄下的檔案 格式 find 選項 路徑 表示式 主要作用 1.搜尋檔案 常用表示式 mount,xdev 只檢查和指定目錄在同一檔案系統下的檔案,避免列出其他檔案系統中的檔案 amin n 在過去n分鐘內被讀取過的文化,表示之內,表示之前 atime n 在過去n天內被讀取過的檔...
每天乙個linux命令(19) find 命令概覽
linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。linux下find命令提供了相當多的查詢條件,功能很強大。由於find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網路檔案系統 nfs find命令在該檔案系統中同樣有效,只你具有相應的...
每天乙個linux命令(18) find 命令概覽
linux 下find命令在目錄結構中搜尋檔案,並執行指定的操作。linux下find命令提供了相當多的查詢條件,功能很強大。由於find具有強大的功能,所 以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網路檔案系統 nfs find命令在該檔案系統中同樣有效,只你具有 ...