Respuestas:
Uso rsync(1):
rsync \
--remove-source-files \
--chown=unicorn:unicorn \
/home/poney/folderfulloffiles /home/unicorn/
usermapy groupmapopciones también.
mvasí, ¿verdad? Solo copias? O lo mvhace?
Según @Kevin en los comentarios a continuación, la --file - |pipesintaxis 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 mves realmente un cambio de nombre, lo que lo hace más eficiente que rsynco tar.
:lugar de un .cuando se trata chown?
chownnormalmente 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.