Bagaimana cara menyalin atau memindahkan file tanpa diminta untuk menimpa?


8

Apa yang saya coba:

root@host [/home1]# cp -f hello /home3
cp: omitting directory `hello'
root@host [/home1]# cp -rf hello /home3
cp: overwrite `/home3/hello/.buildpath'? y
cp: overwrite `/home3/hello/.bash_logout'? y
cp: overwrite `/home3/hello/.project'? ^C

Mereka selalu bertanya kepada saya apakah saya ingin menimpa. Menggunakan mv juga tidak berfungsi. Jadi apa yang harus aku lakukan?

Hal-hal lain yang saya coba:

root@host [/home1]# cp -rf hello /home3
cp: overwrite `/home3/hello/.buildpath'? y
cp: overwrite `/home3/hello/.bash_logout'? y
cp: overwrite `/home3/hello/.project'? ^C
root@host [/home1]# cp -force hello /home3
cp: invalid option -- 'o'
Try `cp --help' for more information.
root@host [/home1]# cp --remove-destination hello /home4
cp: omitting directory `hello'
root@host [/home1]# cp --remove-destination hello /home3
cp: omitting directory `hello'
root@host [/home1]# cp --remove-destination -r hello /home3
cp: overwrite `/home3/hello/.buildpath'? ^C
root@host [/home1]#

2
Bisakah Anda memberikan output alias cp?
Raphael Ahrens

2
Selain itu, type cpjuga ls -lpada salah satu file target dapat memberikan informasi yang bermanfaat.
CVn

cp adalah salinan. Oke itu mungkin alias. Jadi, apa perintahnya?
user4951

Jawaban:


13

cptampaknya entah itu alias sesuatu yang menyebabkan masalah, atau itu adalah fungsi. Anda dapat menghapus alias / fungsi:

unalias cp
unset -f cp

Jika Anda lebih suka menimpanya sekarang, Anda dapat menggunakan commandperintah untuk mengganti definisi alias / fungsi:

command cp [...]

Jika Anda lebih suka menghapus ini sepenuhnya, Anda mungkin harus mencari di file bash startup Anda.


3
\cpjuga akan menghindari alias.
sendmoreinfo

Yup, Anda benar which cp => alias cp='cp -i; /bin/cp. Amazon terima kasih!
Gerry

8

Untuk memaksa menimpa tanpa meminta Anda harus menggunakan perintah mv dan opsi "-f", gunakan man untuk melihat opsi.

man mv:

   -f, --force
          do not prompt before overwriting

Contoh:

mv -f test.tmp test.txt

1

Coba cp -rv / sourcefileordirectory / Destinationfolder


Akankah pekerjaannya? Apa maksud -rv?
user4951

-rvberarti rekursif dan bertele-tele. Jadi ini harus menyalin file dan subfolder, dan output kemajuan ke terminal.
JNat

1

Anda mungkin memiliki alias untuk cp. Anda dapat mengganti alias ini dengan melakukan:

\cp -f hello /home3

Ini memiliki petualangan untuk tidak mengubah pengaturan alias Anda, karena menimpanya hanya untuk panggilan ini.


0

Anda dapat menggunakan yes, yang dirancang untuk hal semacam ini. Ini akan secara otomatis mencetak ydan menjawab permintaan ini untuk Anda:

yes | cp -f hello /home3

0

jalankan saja alias cp=cpdan itu akan menimpa target tanpa bertanya di sesi ini. Jika Anda ingin menyimpannya sebagai perilaku standar, simpan di ~/.bashrc.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.