Linux(Debian、Ubuntu Mint ...)では、
ファイルを別のユーザーに転送するために使用できるオプションコマンドまたは何かがありますか。
Sudo mv /home/poney/folderfulloffiles /home/Unicorn/
Sudo chown -R Unicorn:unicorn /home/Unicorn/folderfulloffiles
rsync(1)
を使用:
rsync \
--remove-source-files \
--chown=Unicorn:unicorn \
/home/poney/folderfulloffiles /home/Unicorn/
以下のコメントの@Kevinによると、--file - |pipe
構文は冗長です。だから私はそれを削除しました。
これは、tar
でも実行できます。
Sudo tar -C${SRC_DIR} --remove-files --group=Unicorn --owner=Unicorn -c ./* |
Sudo tar -C${TGT_DIR} -pvx
s=/home/poney/; f=folderfulloffiles; d=/home/Unicorn/
Sudo mv $s$f $d && Sudo chown -R Unicorn:unicorn $d$f
他の回答とほぼ同じ長さであり、それらはすべて内部で同じライブラリ呼び出しを使用しているため、すべて同じことを行っていることに注意してください。 、その場合、mv
は実際には名前の変更であり、rsync
またはtar
よりも効率的になります。