Standardmäßig Alias ​​cp mit cp -i

8

Gibt es eine gute Möglichkeit, den Befehl cp file1 file2zu cp -i file1 file2aliasen?

James Shapiro
quelle
3
Es ist eine großartige Idee, destruktive Befehle wie cp, mv und rm zu aliasen - aber hängen Sie nicht davon ab ... vor allem nicht als root! Denn eines Tages werden Sie an einem Computer ohne den erwarteten Alias ​​arbeiten, und wenn Sie sich dann an den Alias ​​gewöhnt haben, der Ihre Fehler abfängt, werden Sie unhöflich erwachen.
Baard Kopperud

Antworten:

12

Sie sollten einen Alias ​​in Ihr Startskript einfügen:

alias cp='cp -i'

Sie können dies direkt eingeben ~/.bashrc, aber ich habe in meinem ~/.bashrc:

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

und in habe ~/.bash_aliasesich:

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

und wenn ich dieser Datei Dinge hinzugefügt / geändert habe, die ich mache realias(das entfernt keine Aliase aus der laufenden Shell, die Sie für diese Verwendung herausgenommen haben unalias).

Wenn Sie man bashAliase suchen, werden Sie keine Beispiele finden, aber:

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

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

Shell-Funktionen sind leistungsfähiger, aber für einfache Dinge, bei denen Aliase ausreichen.
Ich neige immer noch dazu, sie zu benutzen.

Anthon
quelle
2

Wenn Sie bash verwenden, funktionieren die Antworten von Anthon und michas einwandfrei. Wenn Sie jedoch csh oder tcsh verwenden, lautet der hinzuzufügende Befehl

alias cp "cp -i"

und Sie werden es in Ihre .cshrcDatei hinzufügen .

unxnut
quelle
1
Jemand, der ein Unix-Neuling ist, verwendet wahrscheinlich eine Bash-ähnliche Shell, aber der Vollständigkeit halber +1 :)
ein CVn
Danke Michael. Der Anfänger arbeitet jedoch in allem, was gegeben ist. Und das hängt hauptsächlich von den Systemadministratoren ab. Interessanterweise erhalten Studenten auf unserem Campus csh (nicht einmal tcsh) als Standard-Shell für Solaris. Und da in der ursprünglichen Veröffentlichung Unix-Neuling stand , dachte ich mir, ich sollte mindestens meine zwei Cent hinzufügen.
Unxnut
1
 alias cp="cp -i"

Fügen Sie diese Zeile in Ihr Shell-Startskript ein. (wahrscheinlich ~ / .bashrc)

michas
quelle