Alias bash

Les alias bash sont des substitutions de commandes. On les utilise en particulier pour simplifier l'usage de commandes répétitives et/ou longues à entrer dans la console.

Il est possible de définir des alias dans le fichier caché .bash_aliases, qui se trouve dans le répertoire personnel. Si ce dernier n'existe pas, on peut le créer :

touch ~/.bash_aliases

Il est également possible de créer un alias provisoire tel qu'expliqué ici.

Le fichier .bash_aliases est pris en compte grâce au code suivant dans le fichier ~/.bashrc (celui-ci étant automatiquement interprété à chaque ouverture d'un onglet du terminal) :
if [ -f ~/.bash_aliases ]; then
	. ~/.bash_aliases
fi

Un alias est déclaré dans le fichier ~/.bash_aliases avec une ligne du type :

~/.bash_aliases
alias nom_de_votre_alias='commande de votre alias'

nom_de_votre_alias est la commande raccourcie que vous passerez manuellement dans le terminal, et commande de votre alias est la ligne de commande, avec les éventuelles options et paramètres que le système devra comprendre (conserver les guillemets simples ').

Il ne doit pas y avoir d'espace entre le nom de l'alias, le signe = et la commande.

Ainsi lorsque vous saisirez nom_de_votre_alias dans un terminal, ce sera réellement la commande de votre alias qui sera exécutée.

Il est également possible d'utiliser des guillemets doubles " comme ceci :

alias nom_de_votre_alias="commande de votre alias"

Ceci peut être utile si votre commande contient des guillemets simples. Mais à l'inverse attention dans ce cas à ce que votre commande elle-même ne contienne pas des guillemets doubles, sans quoi il faudra les échapper (en les précédant de \).

Avec bash les variables entre guillemets doubles " sont interprétées, ce qui n'est pas le cas avec des guillemets simples '.
Pour que vos alias soient pris en compte après ajout dans le fichier .bash_aliases, on peut soit relancer le terminal, soit saisir la commande :
source ~/.bashrc

Vous trouverez de nombreux exemples d'alias en parcourant le Web (ainsi que sur la page Commandes pratiques), et mettrez en place ou adapterez ceux qui vous correspondent au mieux, mais pour l'exemple, si vous ajoutez ceci dans le fichier ~/.bash_aliases :

~/.bash_aliases
alias update='sudo apt update && sudo apt upgrade && sudo snap refresh && sudo flatpak update'

il vous suffira alors de taper dans un terminal :

update

pour mettre à jour votre système et les applications deb installées avec APT, puis les applications snap et les applications Flatpak.

Il est cependant préférable d'éviter d'inclure la commande sudo dans la déclaration de l'alias si vous êtes débutant ou pour vous astreindre à demander manuellement l'élévation des privilèges en gardant à l'esprit la portée des commandes.

Si besoin, la commande :

sudo !!

donne ponctuellement et rapidement les privilèges requis pour la commande précédemment entrée.

Voir aussi le chapitre alias avec sudo ci-dessous.

La déclaration d'alias ne fige pas nécessairement la commande prédéfinie : on peut passer une commande déclarée par un alias – comme mentionné précédemment – et ajouter à celui-ci des paramètre qui seront simplement ajouter à la suite de la commande originale pour son interprétation.
Par exemple avec :

alias sai='sudo apt install'

Saisir :

sai nom_programme

installera le programme souhaité.

Il est à noter que l'auto-completion avec la touche Tab ↹ fonctionne également avec les alias.

Chacun·e organise les alias à sa manière et il ne serait pas forcément utile de proposer des listes d'alias complètes en exemple, qui pourrait entrer en conflit les unes avec les autres, ou avec des commandes existantes.

C'est pourquoi pour des exemples de commandes à utiliser comme valeurs d'alias, mieux vaut consulter la page Commandes pratiques.

Lister les alias

Il suffit de saisir la commande alias seule :

alias

alias avec sudo

Par défaut les alias ne sont pas accessibles en utilisant sudo, un exemple courant est de lister un répertoire système :

sudo ll
# va retourner
sudo: ll : commande introuvable

Pour que ce soit possible, ajouter dans les alias :1)

~/.bash_aliases
sudo='sudo '

Appeler un script

Si vous avez un script bash mais qu'il ne se trouve pas dans un chemin correspondant au $PATH, il est possible de l'appeler via un alias. Par exemple

alias monscript='bash -c ~/Documents/scripts/test/monscript.sh'

Ajouter un alias provisoirement

Pour ajouter un alias uniquement pour la session du terminal en cours, il s'agira de saisir la commande alias sous la même forme que celle à écrire dans le fichier .bash_aliases.

Par exemple, si vous voulez utiliser provisoirement un alias pour supprimer les copies de paquets installés avec l'outil APT, vous pouvez saisir:

alias sac='sudo apt clean'

Jusqu'à la fermeture du terminal, la commande

sac

exécutera en fait un sudo apt clean.

Retirer un alias provisoirement

Pour retirer, et non échapper un alias, de la session du terminal en cours, saisir

unalias mon_alias

Pour reprendre l'exemple précédent saisir

unalias sac

En cas d'homonymie avec les commandes système

En cas d'homonymie entre un alias et une commande système, c'est l'alias qui est appelé.

Pour exécuter la commande système, et non l'alias, une protection peut être employée avec la commande env.

Avec :

alias commande_systeme='commande_systeme -option parametre'

on peut utiliser la commande :

env commande_systeme

Ainsi, commande_systeme sera employée sans option ni paramètre.

Échapper un alias

Il peut être utile de lancer une commande sans que l'alias ne soit pris en compte.

Exemple, vous avez créé cet alias :

alias ping='ping -c 4'

Et vous souhaitez lancer la commande ping sans les options définies par l'alias.
Pour cela il suffit de précéder la commande par le caractère d'échappement antislash \, comme ceci :

\ping

Les fonctions

Les alias ne peuvent pas prendre d'argument (en tout cas pas ailleurs qu'en dernière position).

Les fonctions bash le permettent. Grâce à une fonction il est possible d'indiquer des arguments qui seront passés en fin de la commande / appel de la fonction.
Par exemple

hy(){
   history | grep -vE -e "[0-9]{1,4}  hy |history" | grep -iE -e $1 | less
}

Cette fonction permet de chercher dans l'historique des commandes bash chaque exécution contenant le mot en argument, argument mémorisé dans les variables $1 à $9.

Exemple pour chercher toutes les connexions par SSH :

hy ssh
Cependant, il n'est pas recommandé d'ajouter des fonctions dans le fichier .bashrc, d'une part parce qu'il sera plus lourd à charger, et d'autre part, parce que plus il y aura de modifications, plus il y a aura de risque d'erreur et donc qu'il ne se charge plus.

Une solution permettant de joindre vos alias et vos fonctions est d'écrire une librairie de fontions, et de faire pointer la variable d'environnement $PATH sur l'emplacement de votre librairie.

Il se peut que vos alias ne supportent pas l'auto-complétion dans le cas de l'utilisation de la commande apt. Pour remédier à cela ajouter ce contenu au fichier .bashrc, en considérant que votre alias est aptin pour sudo apt install (adapter ensuite à vos besoin) :

_apt_install_complete() {
    mapfile -t COMPREPLY < <(apt-cache --no-generate pkgnames "$2");
}
complete -F _apt_install_complete aptin
Il existe également une application complete-alias qui fournit cette fonctionnalité.

  • alias.txt
  • Dernière modification: Le 12/02/2026, 14:46
  • par krodelabestiole