Newsgroup: it.comp.os.linux.iniziare
Titolo: ricostruire un alberatura....

Buongiorno a tutti,
avrei il seguente quesito: dovendo ricostruire un'alberatura
di directory da una parte all'altra del filesystem, qual'e' il
metodo più efficiente per eseguirlo?
Mi viene in mente un "cp -r" per copiare l'intera alberatura
e poi un "rm" di tutti i files ricorsivamente....forse sapete
consigliarmi una strada migliore...?
grazie 1000
Francesco

 ha scritto nel messaggio
news:sC8Z8.55828$7N3.1...@twister2.libero.it...

mv e fai prima!
ossia: mv sorgente destinazione
--
[ Penguin At Work ]
-> 
http://web.tiscali.it/penguinatwork/
-> aka Fustino Di Dixan while working

 metodo più efficiente per eseguirlo?
O usi 'mv /path/sorgente /path/destinazione'
oppure 'cp -a /path/sorgente /path/destinazione; rm -rf /path/sorgente'
man cp e man rm, comunque.
LG
-- 
*********************************************************************
Leandro Gelasi
V year Computer Science Engineering student at Siena University
gela...@lucy.dii.unisi.it
Gilles Villeneuve will live forever
*********************************************************************

oppure 'cp -a /path/sorgente /path/destinazione; rm -rf /path/sorgente'
Aggiungerei una cosa: "&&" al posto del ";" in questo caso dovrebbe
essere obbligatorio.
Ma non so se effettivamente preferire cp possa servire, perche' mv
in caso di errore lo segnala, ma ovviamente non rimuove l'originale:
$: mv prova /
mv: cannot create regular file `/prova': Permission denied
$: ls prova
prova
-- 
Ci sentiamo, |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||  ==>   E-mail: 
remi...@tiscali.it
-------------|     ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.19pre17 su Debian GNU/Linux 2.2 Potato */

 in caso di errore lo segnala, ma ovviamente non rimuove l'originale:
Naturalmente, ho usato cp e rm solo per mostrare la sintassi per la
recursione.


metodo più efficiente per eseguirlo?
Dovresti stare attento per via dei permessi, dei proprietari e dei
relativi gruppi, affinche' non vengano modificati dalla copia o dallo
spostamento...
Credo che il modo corretto implichi l'uso del tar (tape archive) o
similari.
Sperando di non aver sparato 'avaolate... ;)
-- 
Filippo "Kirone" Zamengo 
Quanto scritto deve ritenersi IMHO e indipendente dal datore di lavoro
e-mail modificata: togliere DESPAM e .invalid

recursione.
 ^^^^^^^^^^
 ?????
-- 
Antonio
| Pretendi una risposta immediata dal NG?
| Puoi ottenerla!
| 
http://groups.google.com/advanced_group_search

similari.
cp -p oppure -a conserva tutto.
Ciao.


?????
Infatti -a e` molto meglio di -r, a parte che se non ce ne metti
nessuno dei due non copia quasi niente: siamo su icoli:-)


cp -p oppure -a conserva tutto.
Thanx. Cosi' imparo a leggermi meglio le docs :) (ma le leggo solo
quando mi servono...)
Gia' che ci siamo.
Il caso:
Ho un albero di directory e file copiato da una partizione fat ad una
ext2 (o 3? importa? credo di no). Tutti i file risultano eseguibili.
Devo togliere velocemente il permesso di esecuzione a tutti i file.
Io ho risolto cosi':
(step 1) # chmod -R -x *
in questo modo lo tolgo a tutto e a tutti, ricorsivamente (-R),
directory comprese (ricordo che le directory altro non sono che file
di tipo particolare). Nota che lo devo fare da root, altrimenti il
comando non riesce a scendere nelle dir modificate. Gia', perche' le
dir cosi' modificate non sono piu' accedibili se non a root.
(step 2) # chmod -R +X *
questo rifa' il giro ripristinando le sole directory (+X), cosi' che
ridiventano accessibili agli altri utenti.
C'e' un modo che implichi un solo comando anziche' due?


 C'e' un modo che implichi un solo comando anziche' due?
 na roba tipo find dir/ -type f -exec chmod -x {}\

C'e' un modo che implichi un solo comando anziche' due?
Forse si.
In /etc/fstab aggiungi tra le opzioni della partizione fat che monti
l'opzione noexec.
Il vantaggio è che anche i file su quella partizione puoi vederli come
vedi quelli sulla partizione ext2 (insomma se ci vai con mc e dai invio
su un mp3 te lo lancia, e non ti dice "can't execute this file").
Ciao.
-- 
Antonio

C'e' un modo che implichi un solo comando anziche' due?
#: chmod -v -R a-x=Xwr /dos


 na roba tipo find dir/ -type f -exec chmod -x {}\
Ugh. Okkei, mi metto a studiare. ;)
Thanx.


#: chmod -v -R a-x=Xwr /dos
Altra roba da studiare ^_^; Thanx.


 scrisse:




No, non e' esattamente cosi'. L'albero l'ho *copiato* da una
partizione fat ad una ext2. Le copie hanno i permessi in esecuzione
che vorrei cambiare.
Cmq, "ho imparato qualcosa" (aka "benkyo") :)


Invece da root (me) lo fa. Avro' una configurazione strana?
Gia`.. purtroppo lo fa anche da me: o meglio dice di farlo, ma in
realta` non fa un bel niente. Non avevo pensato che parlavi di fs
alieno: fat, anche se montato. Infatti succede questo:
#: chmod -v -R a-x=Xwr /dos/dos | grep ansi; ls -l /dos/dos/a*
mode of /dos/dos/ansi.sys changed to 0666 (rw-rw-rw-)
-rwxr-xr-x    1 root   root     9087 May 31  1994 /dos/dos/ansi.sys
-rwxr-xr-x    1 root   root    10902 May 31  1994 /dos/dos/append.exe
-rwxr-xr-x    1 root   root    11263 May 31  1994 /dos/dos/attrib.exe
e per conferma che non son cambiati:
$: ls -l /dos|grep -w dos;touch /dos/dos/prova
drwxr-xr-x    2 root     root        32768 Sep  3  1999 dos
touch: /dos/dos/prova: Permission denied
E la sistemazione per questa storia dei permessi su vfat la sapevo pure
ma ora non ce l'ho presente:-(
Cmq e` proprio perche' non li cambia che anche col comando tuo conferma
(in falso!) di discendere pure nelle subdirectory.
