Chcę ustawić uprawnienia 755 na wszystkie pliki i podkatalogi w określonym katalogu, ale chcę uruchomić chmod 755 tylko dla tych komponentów, które nie mają uprawnień 755.
find /main_directory/ -exec chmod 755 {} \;
Jeśli find
polecenie zwróci długą listę, zajmie to dużo czasu. Wiem, że mogę użyć polecenia stat, aby sprawdzić uprawnienia na poziomie pliku ósemkowego dla każdego komponentu, a następnie użyć if-else, aby przełączyć uprawnienie do pliku, ale czy istnieje podejście z pojedynczą linią find
i xargs
najpierw sprawdzić, jakie uprawnienia ma plik / katalog , a następnie użyj, chmod
aby zmienić na 755, jeśli jest ustawiony na coś innego.
u+rw,go+r,go-w,ugo+X
- zwróć uwagę na stolicę.