Jawaban:
Gunakan rsync(1)
:
rsync \
--remove-source-files \
--chown=unicorn:unicorn \
/home/poney/folderfulloffiles /home/unicorn/
usermap
dan groupmap
opsi juga.
mv
? Hanya salinan? Atau apakah mv
itu?
Per @Kevin di komentar di bawah, --file - |pipe
sintaksnya berlebihan. Jadi saya sudah menghapusnya.
Ini juga dapat dilakukan dengan tar
:
sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* |
sudo tar -C${TGT_DIR} -pvx
-f -
ini tersirat di kedua ujungnya.
f -
bagian.
s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f
Tentang panjang yang sama dengan jawaban lainnya, dan perhatikan karena mereka semua menggunakan panggilan pustaka yang sama di bawah tenda, mereka semua melakukan hal yang persis sama - kecuali, seperti yang dicatat Gilles, ini ada pada sistem file dan perangkat yang sama , dalam hal mv
ini benar - benar sebuah nama baru, yang membuatnya lebih efisien daripada rsync
atau tar
.
:
bukannya .
ketika berhadapan dengan chown
?
chown
biasanya membutuhkan keduanya :
dan .
.
nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_
- meskipun itu bukan inti dari jawaban Anda, mana yang baik dan saya sudah terbalik.