
如何設定目前目錄及其所有子目錄下的所有*.java檔案對所有使用者都有讀取權限?
我還想將當前目錄和所有子目錄中大小至少為 1 KB 的所有檔案設定為一組 admin。
答案1
選擇:若要設定目前目錄中所有 .java 檔案的讀取權限,請使用下列命令:
chmod -R 444 *.java
將目前目錄及所有子目錄下所有大小至少為1KB的檔案設定為admin群組。
find /yourdirectorypath -size +1k -exec chgrp admin {} \;
筆記:「-R」表示遞歸,它也會覆蓋您的子目錄
答案2
如何設定目前目錄及其所有子目錄下的所有*.java檔案對所有使用者都有讀取權限?
在 bash ≥4.0 和 zsh 中:
chmod a+r ./**/*.java
在任何與 POSIX 相容的系統上(即任何非古董 UNIX 變體等):
find . -name '*.java' -exec chmod a+r {} +
將目前目錄及所有子目錄下所有大小至少為1KB的檔案設定為admin群組。
在 zsh 中:
chgrp admin ./**/*(.L+1023)
在任何與 POSIX 相容的系統上:
find . -type f -size +1023c -exec chgrp admin {} +
答案3
使用 find 和 xargs
find . -name \*.java | xargs chmod o+r
或者
find . -name \*.java -print0 | xargs -0 chmod o+r
第二個版本處理檔案或目錄名稱中的空格。
您可能還需要修復目錄權限。
find . -type d -print0 | xargs -0 chmod o+rx
您可以避免更新已經正確的權限。檢查手冊頁尋找並查看有關權限的部分。
答案4
若要設定目前目錄中所有 .java 檔案的讀取權限,請使用此命令
chmod +r *.java