Risposte:
Utilizzare rsync(1)
:
rsync \
--remove-source-files \
--chown=unicorn:unicorn \
/home/poney/folderfulloffiles /home/unicorn/
usermap
e groupmap
opzioni.
mv
così, vero? Solo copie? O lo mv
fa?
Per @Kevin nei commenti seguenti, la --file - |pipe
sintassi è ridondante. Quindi l'ho rimosso.
Questo può essere fatto anche con tar
:
sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* |
sudo tar -C${TGT_DIR} -pvx
-f -
sia implicito su entrambe le estremità.
f -
parte.
s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f
Circa della stessa lunghezza delle altre risposte e nota dal momento che usano tutte le stesse chiamate in libreria sotto il cofano, stanno facendo esattamente la stessa cosa - a meno che, come nota Gilles, questo sia sullo stesso filesystem e dispositivo , nel qual caso mv
è davvero una ridenominazione, che lo rende più efficiente di rsync
o tar
.
:
invece di un .
quando hai a che fare chown
?
chown
prende in genere entrambi :
e .
.
nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_
- sebbene non sia questo il punto della tua risposta, il che è positivo e ho già votato.