Shell

如何更改使用 find 命令找到的多個文件的權限?

  • May 22, 2012

我有一個包含大量文件的目錄。一部分文件有755權限,另一部分有644權限。我想將具有755權限的文件轉換為644. 我通過從目錄本身執行它來嘗試以下行:

find . -perm 755 -exec chmod 644 {}\;

但是結果,權限僅更改了目錄本身,並且在將其更改回來後,我發現文件權限保持不變。我錯過了什麼嗎?

好的,看來我找到了問題所在。似乎and之間必須有一個強制空格,因此命令將如下所示:{}``\;

find . -perm 755 -exec chmod 644 {} \;

而不是:

find . -perm 755 -exec chmod 644 {}\;

更改目錄權限的問題也可以通過添加一個-type f標誌來解決,所以它看起來如下:

find . -type f -perm 755 -exec chmod 644 {} \;

引用自:https://unix.stackexchange.com/questions/39131