Linux的find命令詳情,Linuxfind命令詳情
Linux的find命令
find命令是用來在指定目錄下尋找檔案的。任何位於參數之前的字串都將視為欲尋找的目錄名。
如果使用該命令,不設定任何參數,則find命令將在目前的目錄下尋找子目錄和檔案。並且尋找到的子目錄和檔案全部進行顯示。
find文法
find (選項) (參數)
常用的選項參數
-name <範本樣式>:指定字串作為尋找檔案或目錄的範本樣式
-regex<範本樣式>:指定字串作為尋找檔案或目錄的範本樣式
-size<檔案大小>:尋找符合指定的檔案大小的檔案
-typ<檔案類型>:只尋找符合指定的檔案類型的檔案
-path<範本樣式>:指定字串作為尋找目錄的範本樣式
-perm<許可權數值>:尋找符合指定的許可權數值的檔案或目錄
-help或——help:線上協助
-false:將find指令的回傳值皆設為False
-true:將find指令的回傳值皆設為True
-amin<分鐘>:尋找在指定時間曾被存取過的檔案或目錄,單位以分計算
-cmin<分鐘>:尋找在指定時間之時被更改過的檔案或目錄
atime<24小時數>:尋找在指定時間曾被存取過的檔案或目錄,單位以24小時計算
ctime<24小時數>:尋找在指定時間之時被更改的檔案或目錄,單位以24小時計算
-gid<群組識別碼>:尋找符合指定之群組識別碼的檔案或目錄
-group<群組名稱>:尋找符合指定之群組名稱的檔案或目錄
uid<使用者識別碼>:尋找符合指定的使用者識別碼的檔案或目錄
user<擁有者名稱>:尋找符和指定的擁有者名稱的檔案或目錄
還有一些參數忽略為列舉:
具體參考:Linux命令大全—find命令
執行個體
根據檔案或者Regex進行匹配
列出目前的目錄及子目錄下的所有檔案和檔案夾
find .
在/home目錄下尋找以.txt結尾的檔案名稱
find /home -name "*.txt"
同上,忽略大小寫,使用iname。
find /home -iname "*.txt"
在目前的目錄及子目錄尋找所有以.txt和.cfg結尾的檔案
find . -name "*.txt" -o -name "*cfg"
匹配檔案路徑或者檔案
find /usr/ -path "*local*"
基於Regex匹配檔案路徑
find . -regex ".*\(\.txt\|\.pdf\)$"
忽略大小寫正則匹配
find . -iregex ".*\(\.txt\|\.pdf\)$"
否定參數
find /home ! -name "*.txt"
根據檔案類型進行尋找
find . -type 型別參數
型別參數列表:
f:普通檔案
l:符號串連
d:目錄
c:字元裝置
b:塊裝置
s:通訊端
p:Fifo
eg:
find . -type ffind . -type d
根據檔案時間戳記進行搜尋
find . -type f 時間戳記
Linux檔案系統每個檔案都有三種時間戳記
訪問時間(-atime/天,-amin/分鐘):使用者最近一次訪問時間。
修改時間(-mtime/天,-mmin/分鐘):檔案最後一次修改時間。
變化時間(-ctime/天,-cmin/分鐘):檔案資料元(例如許可權等)最後一次修改時間。
搜尋最近7天內被訪問過的所有檔案
find . -type -atime -7
搜尋恰好在7天前被訪問過的所有檔案
find . -type -atime 7
搜尋超過七天內被訪問過的所有檔案
find . -type -atime +7
搜尋訪問時間超過10分鐘的所有檔案
find . -type f -amin +10
根據檔案大小匹配
find . -type f -size 檔案大小單元
b:塊(512位元組)
c:位元組
w:字(2位元組)
k:KB
M:MB
G:G位元組
搜尋大於10KB的檔案
find . -type f -size +10k
搜尋小於10KB的檔案
find . -type f -size -10k
搜尋等於10KB檔案
find . -type f -szie 10k
刪除匹配檔案
find . -type f -name "*.txt" -delete
根據檔案許可權進行匹配
搜尋目前的目錄下許可權為777的檔案
find . -type f -perm 777
找出目前的目錄下許可權不是700的txt檔案
find . -type f -name "*.txt" ! -perm 700
找出目前的目錄使用者zhang擁有的所有檔案
find . -type f -user zhang
找出目前的目錄使用者組gzhang擁有的所有檔案
find . -type f -group gzhang
尋找長度為0的檔案
find . -type f -empty