
我需要知道如何將 CHMOD 命令遞歸地僅套用於具有特定名稱的檔案?
chmod 755 -R filename
類似於上面的內容,但它應該適用於filename
任何子資料夾中存在的任何內容。
答案1
這將從當前目錄遞歸地找到所有名為 filename 的文件,並將它們傳遞給chmod
.
find -name filename | xargs chmod 755
請參閱手冊頁以了解find
更多xargs
進階選項。特別是,如果您收到有關名稱中包含空格的檔案的錯誤,請查看-print0
標誌 和 對應的-0
內容。xargs
答案2
find 中還有一個 exec 參數可以執行相同的操作:
find . -name filename -exec chmod 755 {} \;
答案3
+
如果您使用運算子 find 使其chmod
同時在多個檔案上運行,則可以兩全其美。
find . -name filename -exec chmod 755 '{}' +
你應該總是'
在你的 周圍加上一個{}
,否則帶有空格的檔案名稱可能會把事情搞砸。在這種情況下,這不是問題,但我有這樣做的習慣。