====== Maîtriser les alias bash =======
* Objet : Enrichir son environnement de travail grâce aux alias //bash//.
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Les alias permettent de définir des raccourcis pour des commandes courantes. //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* Suivi : {{tag>à-corriger}}
* Création par [[user>smolski]] le 23/09/2013
* Testé par [[user>smolski]] le 23/09/2013
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=7456 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Introduction =====
Les ''alias'' permettent de définir des raccourcis pour [[:doc:systeme:commandes:gnu_linux|vos commandes]] saisies dans en [[:doc:systeme:terminal|console]].\\
Ainsi, une commande fréquente et relativement longue sera rendue accessible en tapant un simple mot clé prédéfini par le système ou que nous aurons créé (raccourcis).
===== Commandes de base =====
Nous utiliserons les commandes ''alias'' et ''unalias''.
=== Consulter l'aide ===
Vous pouvez consulter l'aide dans bash via:
help alias
et
help unalias
=== Afficher les alias actifs ===
Vous pouvez afficher tous les alias déjà définis, tapez la commande :
alias
Si rien n'apparaît, c'est qu'aucun alias n'est défini.
Personnellement j'obtiens :
alias ls='ls --color=auto'
=== Lancer la vraie commande plutôt que l'alias ===
Si ''nom_alias'' est aussi le nom d'une commande système, et que vous voulez utiliser la commande plutôt que l'alias, la syntaxe est la suivante:
\nom_alias
Exemple:
\ls
==== Créer un alias temporaire ====
Vous avez la possibilité de définir assez rapidement un alias, mais il ne sera pas conservé et donc plus utilisable au prochain lancement de la console.
Pour créer un alias ''nom_alias'' qui exécutera la commande ''commande'', la syntaxe est la suivante :
alias nom_alias=commande
L'alias peut être supprimé via
unalias nom_alias
Exemples :
* Pour créer un alias ''coin'' qui exécutera la commande ''echo '\_ô<' '' :
alias coin="echo '\_ô<'"
* Pour créer un alias vous permettant de consulter le contenu de votre ''sources.list'', ce qui se fait habituellement via la commande((Voir [[:doc:systeme:cat]], [[:doc:systeme:grep]], [[:doc:programmation:shell:chevrons]] et [[:doc:systeme:apt:sources.list]])) :
cat /etc/apt/sources.list{,.d/*} 2>/dev/null | grep -v "^#"
Vous pouvez créer un alias sympa:
alias aptlist='cat /etc/apt/sources.list{,.d/*} 2>/dev/null | grep -v "^#"'
* Vous pouvez constater qu'un alias à été rajouté avec :
alias
* Pour l'utiliser, taper :
aptlist
* Pour le supprimer, taper:
unalias aptlist
==== Alias chargés au démarrage ====
On trouve dans le fichier ''~/.bashrc'' le texte suivant :
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Ce code nous indique que le fichier ''~/.bash_aliases'', s'il existe, est chargé au lancement de //bash//.
Vous pouvez créer et utiliser le fichier (caché) .bash_aliases placé dans votre dossier personnel (''~'').
La modification de ce fichier ''/home/user/.bashrc'' (noté aussi ~/.bashrc) ne //nécessite pas de droits administrateur//. En effet, c'est un fichier à vous, comme les autres fichiers présents dans votre ~.
Dans le fichier ''.bashrc'', on trouve également des propositions d'alias, commentées.
Les alias suivants permettent d'activer la sortie colorée des commandes habituelles. On notera que l'alias pour la coloration de ''ls'' est activé par défaut, mais que les autres non :
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
Les alias suivants permettent d'activer des raccourcis pratiques pour ''ls''.
===== Création d'alias perso permanents =====
Le meilleur endroit pour définir des alias perso est le fichier ''~/.bash_aliases''.
Il est fortement déconseillé d'utiliser les alias en ''root'', et en particulier de nommer un alias par le nom d'une commande. Exemple de chose dangereuse à ne pas faire :
alias nano='/sbin/reboot'
Vous pensez bien que l'on peut faire des choses encore plus dangereuses que ça…
Pour créer un alias permanent, vérifiez que les lignes
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
de votre ''~/.bashrc'' sont [[doc:programmation:commenter|décommentées]], et créez un fichier ''~/.bash_aliases'' contenant les alias que vous voulez définir. \\
Exemple extrait de mes alias perso et des exemples ci-dessus :
alias coin="echo '\_ô<'"
alias aptlist='cat /etc/apt/sources.list{,.d/*} 2>/dev/null | grep -v "^#"'
alias ls='ls --color'
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
alias less='less -R'
alias grep='grep --color'
alias muet='mplayer -ao null'
alias iceweasel='iceweasel 2>/dev/null 1>&2'
alias icedove='icedove 2>/dev/null 1>&2'
alias evince='evince 2>/dev/null 1>&2'
alias rscp='rsync --partial --progress --inplace --rsh=ssh --archive --inplace'
alias ncmpc='ncmpc -c'
alias cdprojet='cd /home/moi/mes_projets/mon_projet_trop_bien'
alias stopfirefox='kill -SIGSTOP $(pidof iceweasel)'
alias wakefirefox='kill -SIGCONT $(pidof iceweasel)'
alias ☺='echo Bonjour !'
alias pmount="udisks --mount"
alias pumount="udisks --unmount"
alias ccl='cclive'
===== Liens utiles sur le forum =====
* [[https://debian-facile.org/viewtopic.php?pid=235314#p235314]]