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 findcomando 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 finde xargsper verificare innanzitutto quale autorizzazione ha il file / directory , quindi utilizzare chmodper modificarlo in 755 se è impostato su qualcos'altro.
u+rw,go+r,go-w,ugo+X- nota la capitale.