回答:
使用rsync(1)
:
rsync \
--remove-source-files \
--chown=unicorn:unicorn \
/home/poney/folderfulloffiles /home/unicorn/
usermap
とgroupmap
同様のオプションを。
mv
か?コピーのみ?それともmv
それですか?
以下のコメントの@Kevinによると、--file - |pipe
構文は冗長です。だから私はそれを削除しました。
これは次の方法でも実行できますtar
。
sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* |
sudo tar -C${TGT_DIR} -pvx
-f -
両端で暗示されていることを確認してください。
f -
パーツなしで正常に機能します。
s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f
他の回答とほぼ同じ長さで、全員がボンネットの下で同じライブラリ呼び出しを使用しているので、Gillesが指摘しているように、これは同じファイルシステムとデバイス上にない限り、まったく同じことをしていることに注意してください、この場合mv
、実際には名前変更であり、これにより、rsync
またはより効率的になりtar
ます。
:
代わりではありませんか?.
chown
chown
通常、:
との両方を取ります.
。
nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_
。-それはあなたの答えのポイントではありませんが、それは良いことであり、すでに支持しています。