[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Aggiornamenti dal fronte ...



On Fri, May 24, 2002 at 07:14:44PM +0200, Ferdinando wrote:
> * venerdì 24 maggio 2002, alle 16:51, -={Sh~AB}=- scrive:
> > #!/bin/bash
> > find /home/giacomo -type d -exec chmod -R u+rwx-s,g+sr-wx,o+rx-ws {} \;
> > find /home/giacomo -type f -exec chmod -R u+rw-xs,g+r-wxs,o+r-wxs {} \;
> 
> Wow e ari Wow, così, con una botta sola ho i permessi giusti per le
> directory ed anche per i files.
Il metodo di MDS va benissimo, cmq.
Se vuoi usare questo ometti i "-R", quantomeno.

> Un'ultimo favore, le {} e il \; a cosa servono ?
{} e \; sono "parole chiave" per il comando find, in particolare servono
all'opzione "-exec" (ed anche a "-ok" -- `man find`):
{} significa "il nome del file che hai trovato";
\; serve per delimitare il comando da lanciare con "-exec".

In sostanza, find, per ogni file che trova, lancera`
chmod u+rw-xs,g+r-wxs,o+r-wxs 'nome del file trovato'

> Ho notato che con i files che avevano nomi con degli spazi in mezzo il
> mio script non li modificava è dovuto alla mancanza di {} ?
Non esattamente, nel senso che per la shell {} non ha lo stesso significato
che ha per find.
Pero` e` vero che find "protegge" i nomi dei file che trova e quindi
anziche' lanciare
chmod u+rw-xs,g+r-wxs,o+r-wxs nome del file
che darebbe probabilmente "No such file or directory" lancera`
chmod u+rw-xs,g+r-wxs,o+r-wxs 'nome del file'
che fa la cosa giusta

Nota: con find ... -exec non hai mai il problema "argument list too long",
perche' find lancia il comando specificato (chmod, in questo caso) una
volta per ogni file che trova.
Quindi chmod si trova ogni volta un singolo argomento.
Invece, facendo chmod u+rw-xs,g+r-wxs,o+r-wxs $(find eccetera) e`
possibile che find restituisca una lista di file che eccede il numero
massimo di argomenti che chmod puo` accettare.

Ciao,
/dev/null


-- 
To UNSUBSCRIBE, email to debian-italian-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: