Antworten:
Verwendung rsync(1):
rsync \
--remove-source-files \
--chown=unicorn:unicorn \
/home/poney/folderfulloffiles /home/unicorn/
usermapund werfen groupmap.
mv, oder? Nur Kopien? Oder macht es mvdas?
Laut @ Kevin in den Kommentaren unten ist die --file - |pipeSyntax redundant. Also habe ich es entfernt.
Dies kann auch gemacht werden mit tar:
sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* |
sudo tar -C${TGT_DIR} -pvx
-f -an beiden Enden impliziert ist.
f -Teil.
s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f
Ungefähr so lang wie die anderen Antworten, und da sie alle dieselben Bibliotheksaufrufe verwenden, tun sie alle genau dasselbe - es sei denn, Gilles merkt an, dass sich diese auf demselben Dateisystem und Gerät befinden In diesem Fall mvhandelt es sich wirklich um eine Umbenennung, die es effizienter macht als rsyncoder tar.
:statt ein .beim Umgang mit chown?
chowndauert normalerweise beide :und ..
nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_- obwohl das kaum der Grund für Ihre Antwort ist, was gut ist und ich bereits abgestimmt habe.