galeki的部落格
我們經常要在日常的工作中查詢檔案,要說linux下最強大的檔案查詢工具,非find莫屬。find可以從檔名、讀取修改時間、大小、型別等等來篩選檔案,可以完成日常幾乎所有的查詢需求。
來看乙個簡單的例子:
find /tmp/ -name
'galeki*'
意思就是在/tmp目錄下找出以「galeki」開頭的檔案,-name指出是對檔名進行篩選,是不是很簡單明瞭?除了檔名,find還有更強大的篩選條件:
引數意義-atime n上一次訪問時間在n*24小時前以內的檔案
-ctime n上一次狀態改變在n*24小時前以內的檔案
-mtime n上一次修改時間在n*24小時前以內的檔案
-newer file比file所指的檔案還要新的檔案
2.大小:
引數意義-size n[bkmg]大小為n(b為位元,k為kb,m為mb,g為gb)的檔案
引數意義
-user name所有者使用者名稱是name的檔案
-group name所有者使用者組群名稱是name的檔案
find /tmp/ -name
'sess*' -mtime
1 #在/tmp目錄下找到所有以'sess'開頭、並且在乙個小時以內修改過的檔案
find ./ -name
'*.zip' -size 546k
#在當前目錄下找到所有546kb的zip壓縮包檔案
find /tmp/ -user
'galeki' #在/tmp目錄下找到所有所有者為galeki的檔案
另外,還可以用"+"、"-"來進一步修飾時間和大小的條件:
find src/ -mtime
+2#找出src目錄下上一次修改時間在2天以前的檔案
find download/ -size +50m
#在download目錄下找出大於50m的檔案
光找出檔案還不夠,我們還要對找出的檔案進行處理才有意義,一般來講可以把find的查詢結果傳遞給其他的命令做進一步處理。find本身也提供了許多處理動作的選項。
常用的處理動作:
引數意義-print
列印出找出檔案的完整位址,乙個檔案一行
-delete
刪除找出的檔案
-exec command {} \;
對每乙個找到的檔案執行command命令,
並用檔案替換"{}",「\;」是固定的結束符。
find /tmp/ -ctime
+7 -delete
#刪除/tmp目錄下一周以前建立的檔案
find ./ -name
'*.unk' -
exec file
\;
#找出當前資料夾下字尾是unk的檔案,並用file命令顯示每個檔案的檔案型別
0給主人留下些什麼吧!~~
Linux下的find用法
想一下我們為什麼要熟悉find命令呢?whereis和locate都可以用來查詢,但是這兩個是通過資料庫來查因為沒有實際查詢硬碟所以相當快速,但是也會有其他問題 1 whereis命令只能用於程式名的搜尋,而且只搜尋二進位制檔案,man說明檔案和源 檔案 省略引數時返回所有資訊 2 whereis查...
linux下的find指令
在linux下我們可以用到三個命令來查詢檔案,通常我們都是先使用whereis或者是locate來檢查,如果真的找不到了我們才以find來找。為什麼呢?因為whereis和locate是利用資料庫來查詢資料,所以相當快速,而且並沒有實際查詢硬碟,比較節省時間。但是find是直接查詢硬碟,如果你的硬碟...
Linux下的find指令
在linux 下我們可以用到三個命令來查詢檔案,通常使用whereis或者是locate來檢查,如果真的找不到了我們就以find來找。因為whereis和locate是利用 資料庫來查詢資料,所以相當快速,而且並沒有實際查詢硬碟,比較節省時間。但是find是直接查詢硬碟,如果你的硬碟比較老舊的話,就...