Table des matières

Maîtriser les alias bash

Introduction

Les alias permettent de définir des raccourcis pour vos commandes saisies dans en 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 :

alias coin="echo '\_ô<'"
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 "^#"'
alias
aptlist
unalias aptlist

Alias chargés au démarrage

On trouve dans le fichier ~/.bashrc le texte suivant :

.bashrc
# 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 :

~/.bashrc
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
~/.bashrc
#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

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

de votre ~/.bashrc sont 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 :

~/.bash_aliases
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

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !