Menggunakan skrip shell atau Terminal, bagaimana cara menimpa file yang mungkin atau mungkin tidak ada. Saya melihat halaman manual untuk cp, katanya gunakan argumen -f untuk memaksa ditimpa. Tapi, itu tidak melakukan apa-apa.
$ cp -f /path/to/source/file.txt /path/to/target
Atau ada opsi lain untuk menimpa file menggunakan alat baris perintah built-in yang umum di OS X?
terminal
command-line
script
rogerFernand
sumber
sumber
sudo
di awal perintah. Tapi gunakan dengan hati-hati!mv
ataurm
mereka.sudo
saya dapat menggunakanmv
ataurm
untuk memindahkan atau menghapus file sebelum menggunakancp
. Menggunakansudo cp
tidak ada bedanya.Jawaban:
Saya bingung mengapa cp berperilaku seperti ini jika tidak ada alias yang terlibat. Namun, ada cepat-kotor-dan-berbahaya utilitas yang disediakan untuk situasi yang tepat ini:
yes
. Anda dapat menggunakannya untuk menyalurkan aliran afirmatif berkelanjutan ke perintah apa pun yang memberi Anda konfirmasi konfirmasi (Anda dapat menggunakannya untuk mengirim teks apa pun, tetapi defaultnya adalah "y").yes | cp foo bar
akan menjalankan perintah cp dan memotong semua konfirmasi konfirmasi.sumber
Mungkin disebabkan oleh alias perintah.
Untuk menelepon
cp
langsung bisa Anda gunakan/bin/cp src dest
sumber
alias cp
). Mereka dapat mengubah alias di profil mereka atau menggunakan / bin / cp seperti yang disarankan.cp
karena Apple menyediakannya.roger$ alias cp -bash: alias: cp: not found
type cp
. Dan memang benar.Pertama, Anda menghapus (
rm
) tujuan, lalu jika berhasil (&&
) Anda menyalinnya. Saat menghapus folder, harap ingat untuk menambahkan-r
kerm
(rm -r
).sumber
Saya juga punya alias mengacaukan -f, panggil cp langsung dari / bin dan semuanya baik-baik saja, memiliki alias yang mencegah penimpaan / kepindahan yang tidak disengaja secara default cukup bagus, jadi sebaiknya jangan hapus.
seperti yang sudah dinyatakan, flag -i superceedes -f, yang tidak akan mengizinkan perintah di bawah untuk melakukan sebagaimana dimaksud.
sumber