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 findpolecenie 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ą findi xargsnajpierw sprawdzić, jakie uprawnienia ma plik / katalog , a następnie użyj, chmodaby zmienić na 755, jeśli jest ustawiony na coś innego.
u+rw,go+r,go-w,ugo+X- zwróć uwagę na stolicę.