cp -u ilegal di mac. Apa saja alternatifnya?

6

Saya memiliki Macbook Pro Lion, dan saya telah mencoba mengarsipkan file saya yang mencoba untuk menyalin dan menimpa jika sumbernya lebih baru daripada tujuan. Saya mencoba perintah berikut

cp -u source destination

tetapi dikatakan, -u adalah ilegal. Saya juga tidak menemukan --update atau -u di man cp.

Bisakah Anda membantu, apa yang bisa saya lakukan dalam situasi ini?

[Pertanyaan saya sudah pindah ke sini dari SO, jadi silakan menjawabnya sekali lagi. Saya harap ini adalah cara yang tepat untuk menghadapi ini]

Barnabas Szabolcs
sumber
2
Instal GNU Coreutils.
Keith Thompson
Cinta untuk rsync?
Mike Weller

Jawaban:

4

Mungkin solusi termudah adalah menggunakan rsync . Ini adalah aplikasi cadangan yang bisa melakukan apa cp -u (dan masih banyak lagi).

Penggunaan dasar akan menjadi seperti:

rsync -u source destination

Namun, Anda benar-benar harus memeriksa halaman manual karena ada BANYAK opsi yang bermanfaat.

terdon
sumber
3

Anda dapat menggunakan -nt kondisi:

[[ source/$file -nt destination/$file ]] && cp source/$file destination/$file

Jalankan saja ini untuk semua file (melalui lingkaran atau melalui find ).

choroba
sumber
2

Saya telah menginstal GNU Coreutils dengan MacPorts oleh

sudo ports install coreutils findutils 

findutils tidak perlu tetapi mereka menyarankan untuk menginstalnya juga .

Saya mengikuti ide dari Keith Thompson, (pujian!). Ini sangat berhasil, perintah penyalinan "lanjutan" sekarang:

/opt/local/libexec/gnubin/cp

Tidak memiliki halaman manual, tetapi memiliki bantuan gaya pria yang panjang dengan --help pilihan.

Barnabas Szabolcs
sumber
Saya menghubungkan kembali pertanyaan ini dengan akun Anda, jadi Anda harus dapat berkomentar, menerima jawaban, dll.
Adam Lear
Jika Anda menggunakan zsh, ini akan menggantikan penyorotan. Tapi ini masih mengagumkan.
Fred Concklin