Saya memiliki direktori a dan direktori b. Mereka besar. b hampir identik dengan a. "hampir" berarti 4-5 file berbeda, dan saya tidak tahu yang mana. Saya ingin menyalin b di atas, tetapi hanya file yang berbeda. saya di bash.
(tidak, saya tidak bisa menghapus a dan menggantinya dengan b, karena 1) a dikendalikan oleh versi 2) salinan lengkap (atau mv) akan terlalu banyak. Saya hanya ingin menyalin file yang berbeda).
linux
bash
cp
file-transfer
konferensi janes
sumber
sumber
rsync
sebuah opsi?Jawaban:
Anda dapat menggunakannya
rsync
untuk melakukan ini, perintah yang saya gunakan adalahrsync -tr "folder to copy from" "folder to copy to"
misalnya
rsync -tr /home/me/stuff/* /home/me/otherstuff/
sumber
Dimungkinkan juga untuk melakukan ini dengan yang lama
cp
:Terima kasih kepada srcspider untuk mengingatkan saya untuk menggunakan
-T
!cp -ruT old-dir new-dir
sumber
Opsi bagus lainnya adalah Unison ( http://www.cis.upenn.edu/~bcpierce/unison/ ), terutama jika tidak ada "sumber" dan "tujuan". Setiap direktori adalah root dan Unison menyinkronkannya dan menyimpan metadata untuk sinkronisasi di masa mendatang. Ia menawarkan baris perintah dan opsi GUI yang dapat dengan mudah dijadwalkan melalui cron juga.
Saya menggunakannya untuk membuat cadangan Dropbox saya ke alat NAS lokal saya yang tidak dapat menjalankan klien Dropbox.
sumber
BISA dilakukan dengan ol 'cp yang baik, meskipun dengan format yang sedikit berbeda dari yang disebutkan di atas. Begini cara saya melakukannya:
sumber
Anda dapat membedakan 2 direktori.
diff -r dir1 dir2
itu akan menampilkan daftar file yang berbeda
sumber