Linux find 指令的 exec 參數

Linux 下找檔案很多時會用上 find 指令,當用 find 指令找到檔案或目錄後,可以在後面加上 -exec 參數,來對每一個找到的檔案或目錄執行特定指令。

find 指令加上 -exec 參數的具體語法是這樣:

$ find /path/to -name “filename” -exec command {} \;

在 -exec 前面是 find 指令找出想要的檔案,在 -exec 後面的 command 是要執行的指令, 而 { } 包著的是找到的檔案或目錄,後面需要加上 \; 完結。

以下是幾個 find -exec 的使用例子:

搜尋並刪除所有大過 100MB 的檔案:

$ find /path/to -size +100M -exec /bin/rm {} \;

找出 .log.old 結尾的檔案並刪除:

$ find /path/to -name “*.log.old” -exec /bin/rm {} \;

將所有檔案 .php 檔案改變權限為 644:

$ find /path/to -name “*.php” -exec chmod 644 {} \;

將所有目錄改變權限為 755:

$ find /path/to -type d -exec chmod 755 {} \;

將所有屬於 “olduser” 的檔案,改變為 “newuser”:

$ find /path/to -user olduser -exec chown newuser {} \;



Leave a Reply