Comment alias cp avec cp -i par défaut


8

Y at - il un bon moyen d'alias de la commande cp file1 file2à cp -i file1 file2?


3
C'est une excellente idée d'alias de commandes destructrices comme cp, mv et rm - mais ne dépendez pas de cela ... surtout pas en tant que root! Parce qu'un jour, vous travaillerez sur un ordinateur sans l'alias que vous attendez, et si vous vous êtes ensuite habitué à ce que l'alias rattrape vos erreurs, vous vous réveillerez brutalement.
Baard Kopperud

Réponses:


12

Vous devez mettre un alias dans votre script de démarrage:

alias cp='cp -i'

Vous pouvez mettre cela directement ~/.bashrc, mais j'ai dans mon ~/.bashrc:

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

et ~/.bash_aliasesj'ai:

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

et quand j'ai ajouté / changé des choses à ce fichier, je le fais realias(cela ne supprime pas les alias du shell en cours d'exécution que vous avez retiré, pour cette utilisation unalias).

Si vous le faites man bashet recherchez des alias, vous ne trouverez pas d'exemples mais:

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

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

les fonctions shell sont plus puissantes, mais pour des choses simples où les alias suffisent.
J'ai toujours tendance à les utiliser.


2

Si vous utilisez bash, les réponses d'Anthon et michas fonctionneront bien. Cependant, si vous utilisez csh ou tcsh, la commande à ajouter sera

alias cp "cp -i"

et vous l'ajouterez dans votre .cshrcfichier.


1
Quelqu'un qui est un novice Unix est susceptible d'utiliser un shell de type bash, mais +1 pour être complet :)
un CVn le

Merci Michael. Cependant, le novice travaille dans tout ce qui est donné. Et cela dépend principalement des administrateurs système. Fait intéressant, sur notre campus, les étudiants obtiennent csh (pas même tcsh) comme shell par défaut travaillant sur Solaris. Et puisque la publication d'origine disait novice Unix , je me suis dit que je devrais au moins ajouter mes deux cents.
unxnut

1
 alias cp="cp -i"

Mettez cette ligne dans votre script de démarrage du shell. (probablement ~ / .bashrc)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.