Respuestas:
Uso rsync(1)
:
rsync \
--remove-source-files \
--chown=unicorn:unicorn \
/home/poney/folderfulloffiles /home/unicorn/
usermap
y groupmap
opciones también.
mv
así, ¿verdad? Solo copias? O lo mv
hace?
Según @Kevin en los comentarios a continuación, la --file - |pipe
sintaxis es redundante. Entonces lo quité.
Esto también se puede hacer con tar
:
sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* |
sudo tar -C${TGT_DIR} -pvx
-f -
está implícito en ambos extremos.
f -
parte.
s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f
Aproximadamente la misma longitud que las otras respuestas, y tenga en cuenta que, dado que todos usan las mismas llamadas de biblioteca bajo el capó, todos están haciendo exactamente lo mismo, a menos que, como señala Gilles, esto esté en el mismo sistema de archivos y dispositivo , en cuyo caso mv
es realmente un cambio de nombre, lo que lo hace más eficiente que rsync
o tar
.
:
lugar de un .
cuando se trata chown
?
chown
normalmente toma ambos :
y .
.
nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_
aunque ese no es el punto de tu respuesta, lo cual es bueno y ya he votado.