linux系統下find是較為常用的指令,find命令在目錄結構中搜尋檔案,並執行指定的操作,掌握它的形式與用法對我們很有用處。
因為linux下面一切皆檔案,經常需要搜尋某些檔案來編寫,所以對於linux來說find是一條很重要的命令。linux下面的find指令用於在目錄結構中搜尋檔案,並執行指定的操作。它提供了相當多的查詢條件,功能很強大。在不指定查詢目錄的情況下,find會在對整個系統進行遍歷。
即使系統中含有網路檔案系統,find命令在該檔案系統中同樣有效。 在執行乙個非常消耗資源的find命令時,很多人都傾向於把它放在後台執行,因為遍歷乙個大的檔案系統可能會花費很長的時間。
命令功能
用於在檔案樹中查詢檔案,並做相應的處理,(有可能訪問磁碟)。
1.find命令的格式
find pathname -options [-print -exec -ok ...]2.命令引數pathname: find命令所查詢的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄;
-print:find命令將匹配的檔案輸出到標準輸出;
-exec: find命令對匹配的檔案執行該引數所給出的shell命令,為查詢完成以後的操作。
相應命令的形式舉例如
-exec ls -l {} \;
注意和\;之間的空格;
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每乙個命令之前,都會給出提示,讓使用者來確定是否執行,
格式為:
-ok ls -l {} \;
3.命令選項
-options:
-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中不存在;
find -nogroup-newer file1:查詢更改時間與檔案file1更改時間最近的檔案;find -nouser
-type:查詢某一型別的檔案,諸如:
b - 塊裝置檔案; d - 目錄; c - 字元裝置檔案; p - 管道檔案; l - 符號鏈結檔案;f - 普通檔案;
-size n +[c]代表以位元組計即查詢位元組為n的檔案,+n(表示大於n位元組的檔案),-n(表示小於n位元組的檔案);
-depth:在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢;
-fstype:查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案/etc/fstab中找到該配置檔案中包含了本系統中有關檔案系統的資訊;
-mount:在查詢檔案時不跨越檔案系統mount點;
-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。
4.命令功能
用於在檔案樹中查詢檔案,並作出相應的處理(可能訪問磁碟)。
5.總結
由以上可知 linux下find命令提供了相當多的查詢條件,選項很多,功能很強大,即使系統中含有網路檔案系統(nfs),find命令在該檔案系統中同樣有效,只要你具有相應的許可權。
所以在執行乙個非常消耗資源的find命令時,很多人都傾向於把它放在後台執行,因為遍歷乙個大的檔案系統可能會花費很長的時間 (這裡是指30g位元組以上的檔案系統)。
(以上舉例命令引數pathname基本都沒有明確給出,預設為當前路徑)
linux下強大的lftp命令
1 linux lftp命令 詳解 原貼 linux常用技巧 4 17th,2008 原來一直認為wget很好用,很少用lftp.研究了一下.沒想到lftp也這麼強大 lftp help 語法介紹 lftp opts lftp 是在 rc 檔案執行後 lftp 執行的第乙個命令 f 執行檔案中的命令...
Linux下強大的tail命令
文章目錄 tail命令用於輸入檔案中的尾部內容。tail命令預設在螢幕上顯示指定檔案的末尾10行。如果給定的檔案不止乙個,則在顯示的每個檔案前面加乙個檔名標題。如果沒有指定檔案或者檔名為 則讀取標準輸入。tail 選項 引數 f 迴圈讀取 q 不顯示處理資訊 v 顯示詳細的處理資訊 c 數目 顯示的...
強大的查詢命令find
find命令是乙個無處不在命令,是linux中最有用的命令之一。find命令用於 在乙個目錄 及子目錄 中搜尋檔案,你可以指定一些匹配條件,如按檔名 檔案型別 使用者甚至是時間戳查詢檔案 1.locate filename 在檔案資料庫中搜尋filename資訊,updatedb更新檔案資料庫 2....