Qu'est-ce qu'un alias
Un alias est une notation shell abrégée qui vous permet de personnaliser et d'abréger les commandes. Les alias sont disponibles dans tous les shells. Une syntaxe courante pour définir un alias sur la ligne de commande est la suivante :
$ alias name=command_string
Si le premier mot de la ligne de commande est un alias, le shell remplace ce mot par le texte de l'alias. Le shell maintient une liste d'alias qu'il recherche lorsqu'une commande est entrée. Les règles suivantes s'appliquent lors de la création d'un alias :
- Il ne peut y avoir d'espace de part et d'autre du signe égal.
- La chaîne de commande doit être entre guillemets si elle inclut des options, des métacaractères ou des espaces.
- Chaque commande d'un même alias doit être séparée par un point-virgule.
Séquence de commandes
Vous pouvez regrouper plusieurs commandes sous un même nom d'alias. Les commandes individuelles sont séparées par des points-virgules. Par exemple :
$ alias info='uname -s; id; date'
Linux uid=1001(user) gid=1001(user) Tue Dec 5 15:11:58 UTC 2017
Dans l'exemple suivant, un alias est créé à l'aide d'un tube (|) pour diriger la sortie de la commande ls -l vers la commande more. Lorsque le nouvel alias est appelé, une liste de répertoires apparaît.
$ alias ll='ls -l | more'
$ cd /usr/bin $ ll total 121528 -rwxr-xr-x. 1 root root 41496 Nov 5 2016 [ -rwxr-xr-x. 1 root root 107856 Aug 2 17:46 a2p -rwxr-xr-x. 1 root root 52640 Oct 19 20:40 ab -rwxr-xr-x. 1 root root 29112 Sep 6 16:47 addr2line -rwxr-xr-x. 1 root root 29 Sep 6 16:25 alias -rwxr-xr-x. 1 root root 12930120 Oct 25 18:22 amazon-ssm-agent -rwxr-xr-x. 1 root root 7200 Jun 16 2016 animate lrwxrwxrwx. 1 root root 6 Sep 29 2014 apropos -> whatis -rwxr-xr-x. 1 root root 62680 Sep 6 16:47 ar ... --More--
Alias prédéfinis
Le shell contient plusieurs alias prédéfinis. Vous pouvez afficher ces alias prédéfinis à l'aide de la commande alias. Par exemple :
$ alias alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias info='uname -s; id; date' alias l.='ls -d .* --color=auto' alias ll='ls -l | more' alias ls='ls --color=auto' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'Remarque :La commande alias affiche également les alias définis par l'utilisateur.
Alias définis par l'utilisateur
Les alias définis par l'utilisateur sont définis par un utilisateur, généralement pour abréger ou personnaliser les commandes fréquemment utilisées. Par exemple, la commande history est aliasée comme h en utilisant la commande alias dans le code suivant :
$ alias h=history ... 46 cd /usr 47 ls -lrt 48 cd 49 cd /usr/bin 50 ll 51 clear 52 alias 53 alias h=history 54 h
Utiliser le rm , cp , et mv commandes peuvent entraîner par inadvertance une perte de données. Par précaution, vous pouvez aliaser ces commandes avec l'option interactive. Par exemple, la commande rm est aliasée avec le –i option codée comme suit :
$ alias rm='rm -i' $ rm file1 rm: remove file1: (yes/no)? no
De même, la création d'un 'cp -i ' et 'mv -i ' alias garantit que le shell vous demande confirmation avant d'écraser les fichiers existants.
Désactiver un alias
Vous pouvez désactiver temporairement un alias en plaçant une barre oblique inverse (\) devant l'alias sur la ligne de commande. Par exemple, dans le code suivant, la barre oblique inverse empêche le shell de rechercher dans la liste des alias. Cela permet au shell d'exécuter la commande rm d'origine pour supprimer le fichier file1.
$ rm file1 rm: remove file1 (yes/no)? no
$ \rm file1 $ ls file1 file1: No such file or directory
Ou si l'alias comme h pour l'historique donnerait une erreur comme ci-dessous si vous utilisez la barre oblique inverse.
$ \h -bash: h: command not found
Supprimer un alias
La commande unalias supprime les alias de la liste des alias.
$ unalias alias_name
Par exemple, l'alias h créé précédemment est supprimé à l'aide de la commande unalias.
$ unalias h
$ h -bash: h: command not foundExemples de création d'alias de commande dans différents shells