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]#
pengguna4951
sumber
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.

Chris Down
sumber
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
sinkmanu
sumber
1

Coba cp -rv / sourcefileordirectory / Destinationfolder

Rockhound
sumber
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.

niglesias
sumber
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
Deji Kadri
sumber
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.

pengguna2516278
sumber