如何在Linux中遞歸地將CHMOD命令套用至具有特定名稱的任何檔案?

如何在Linux中遞歸地將CHMOD命令套用至具有特定名稱的任何檔案?

我需要知道如何將 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 '{}' +

你應該總是'在你的 周圍加上一個{},否則帶有空格的檔案名稱可能會把事情搞砸。在這種情況下,這不是問題,但我有這樣做的習慣。

相關內容