Anda dapat menggunakan rsync (ini juga salinan lokal)
rsync -r --ignore-existing --include=*/ --include=*.js --exclude=* source/ destination
-r
untuk kembali ke direktori,--ignore-existing
untuk mengabaikan file yang ada di tujuan,include
danexclude
filter artinya:sertakan semua direktori, sertakan semua file *.js, kecualikan sisanya; penyertaan pertama diperlukan, jika tidak, pengecualian akhir juga akan mengecualikan direktori sebelum kontennya dipindai.
Terakhir, Anda dapat menambahkan -P
jika Anda ingin melihat progres, --list-only
jika Anda ingin melihat apa yang akan disalin tanpa benar-benar menyalin, dan -t
jika Anda ingin mempertahankan stempel waktu.
Ini tidak terkait, tetapi saya mempelajari perintah rsync baru-baru ini, ketika saya memindahkan dokumen 15 tahun dari satu partisi ke partisi lainnya. Yakin bahwa file saya ada di sana, saya kemudian menghapus partisi lama dan meletakkan beberapa barang lain di sana; Saya kemudian menyadari bahwa saya kehilangan semua cap waktu, dan menemukan flag -t. Hanya ingin berbagi kegalauanku :'(
Ini juga dapat dicapai dengan menggunakan cp. Lihat di sini:
sudo cp -vnpr /xxx/* /yyy
xxx =sumber
yyy =tujuan
v =bertele-tele
n =tidak ada clobber (tidak ada penimpaan)
p =pertahankan izin
r =rekursif
Melihat halaman manual sepertinya Anda menginginkan -n
opsi.
-n, --no-clobber
do not overwrite an existing file (overrides the previous -i option)