Cara alias cp dengan cp -i secara default

8

Apakah ada cara yang baik untuk alias perintah cp file1 file2ke cp -i file1 file2?

James Shapiro
sumber
3
Itu ide yang bagus untuk perintah perintah destruktif seperti cp, mv dan rm - tapi jangan bergantung padanya ... terutama tidak sebagai root! Karena suatu hari Anda akan bekerja di komputer tanpa alias yang Anda harapkan, dan jika Anda sudah terbiasa dengan alias menangkap kesalahan Anda, Anda akan mengalami kebangkitan yang kasar.
Baard Kopperud

Jawaban:

12

Anda harus memasukkan alias di skrip start up Anda:

alias cp='cp -i'

Anda dapat memasukkan ini secara langsung ~/.bashrc, tetapi saya miliki di ~/.bashrc:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

dan ~/.bash_aliasesaku punya:

alias realias='source ~/.bash_aliases'
alias cp='cp -i'
alias rm='rm -i'

dan ketika saya telah menambahkan / mengubah hal-hal ke file yang saya lakukan realias(itu tidak menghapus alias dari shell yang berjalan yang telah Anda ambil, untuk penggunaan itu unalias).

Jika Anda melakukannya man bashdan mencari alias, Anda tidak akan menemukan contoh tetapi:

For almost every purpose, aliases are superseded by shell functions
The (`bash`) shell function alternative for the above alias is:

cp () { command cp -i "$@" ; }

Fungsi shell lebih kuat, tetapi untuk hal-hal sederhana di mana alias sudah cukup.
Saya masih cenderung menggunakannya.

Anthon
sumber
2

Jika Anda menggunakan bash, jawaban Anthon dan michas akan bekerja dengan baik. Namun, jika Anda menggunakan csh atau tcsh, perintah untuk menambahkannya adalah

alias cp "cp -i"

dan Anda akan menambahkannya di .cshrcfile Anda .

unxnut
sumber
1
Seseorang yang merupakan pemula di Unix cenderung menggunakan shell mirip bash, tetapi +1 untuk kelengkapannya :)
a CVn
Terima kasih Michael. Namun, pemula bekerja dalam apa pun yang diberikan. Dan itu sebagian besar tergantung pada admin sistem. Menariknya, di kampus kami, siswa mendapatkan csh (bahkan tcsh) sebagai shell default mereka yang bekerja pada Solaris. Dan karena posting asli mengatakan Unix novice , saya pikir saya setidaknya harus menambahkan dua sen senilai saya.
unxnut
1
 alias cp="cp -i"

Masukkan baris ini dalam skrip startup shell Anda. (mungkin ~ / .bashrc)

michas
sumber