查詢到檔案之後的處理動作
例如:找出來系統中比較大超過10g的並且存放時間超過一年的log檔案並刪除
find / -name ".log" -size +10g -mtime +365 -ok mv {} /tmp/del \;
只要有ok了,就必須要加 反斜槓和分號 \; 進行結束
ok這個有個麻煩事就是有100個檔案就要問100次,所以使用-exec,非互動方式,問都不帶問的,比較危險
所以不但要找到這些檔案,還要處理這些檔案
事實上,find找到檔案之後就預設隱藏了乙個處理動作 -print
-print:預設的處理動作,顯示至螢幕
-ls:類似於對查詢到的檔案執行「ls -l」命令
-fls file:查詢到的所有檔案的長格式資訊儲存至指定檔案中,相當於 -ls > file
-delete:刪除查詢到的檔案,慎用!
-ok command {} \; 對查詢到的每個檔案執行由command指定的命令,對於每個檔案執行命令之前,都會互動式要求使用者確認
-exec command {} \; 對查詢到的每個檔案執行由command指定的命令
{}: 用於引用查詢到的檔名稱自身
範例
#備份配置檔案,新增.orig這個副檔名
find -name ".conf" -exec cp {} {}.orig \;
#提示刪除存在時間超過3天以上的joe的臨時檔案
find /tmp -ctime +3 -user joe -ok rm {} \;
#在主目錄中尋找可被其它使用者寫入的檔案
find ~ -perm -002 -exec chmod o-w {} \;
#查詢/data下的許可權為644,字尾為sh的普通檔案,增加執行許可權
find /data –type f -perm 644 -name "*.sh" –exec chmod 755 {} \;
Linux 檔案查詢之 find 命令
對linux新手來說查詢檔案簡直是一大災難,現做乙個簡單的小結。通過完整檔名查詢 find 目錄 name 檔名 通過部分檔名查詢 find 目錄 name 引號 星號 我們還可以根據檔案大小 修改日期等檔案的特徵進行查詢 find size 1500c 指定系統在根目錄中查詢出1500位元組的檔案...
Linux檔案查詢之find命令
一 語法格式 find 路徑 選項 操作 二 選項 name 根據檔名查詢 find etc name conf iname i忽略檔名大小寫 ignore perm 根據檔案許可權查詢 find perm 777 prune 可以排除某些查詢目錄 user 根據檔案屬主查詢 group 根據檔案屬...
檔案查詢之 find
在指定目錄查詢符合條件的檔案 選項功能 name根據檔名查詢 type根據檔案型別查詢 詳細型別在後 perm根據檔案許可權查詢,比如 777 user根據屬主查詢 group根據屬組查詢 size根據檔案大小 maxdepth n最大搜尋層數 n 數字 o或者 a並且 預設就是 not表示式 非 ...