Voglio impostare l'autorizzazione 755 su tutti i file e sottodirectory in una directory specifica, ma voglio eseguire chmod 755 solo per quei componenti che non dispongono dell'autorizzazione 755.
find /main_directory/ -exec chmod 755 {} \;
Se il find
comando restituisce un lungo elenco, ciò richiederà molto tempo. So che posso usare il comando stat per controllare l'autorizzazione a livello di file ottale di ciascun componente e quindi utilizzare if-else per attivare l'autorizzazione del file, ma esiste un approccio a riga singola che utilizza find
e xargs
per verificare innanzitutto quale autorizzazione ha il file / directory , quindi utilizzare chmod
per modificarlo in 755 se è impostato su qualcos'altro.
u+rw,go+r,go-w,ugo+X
- nota la capitale.