Avec la première méthode, vous ne créez pas d'alias, vous créez un lien symbolique. Les liens symboliques sont l'abréviation de liens symboliques:
Les liens symboliques sont des fichiers qui agissent comme des pointeurs vers d'autres fichiers. [...] Un lien symbolique est un type de fichier spécial dont le contenu est une chaîne qui est le chemin d'accès d'un autre fichier, le fichier auquel le lien fait référence. En d'autres termes, un lien symbolique est un pointeur vers un autre nom et non vers un objet sous-jacent.
En savoir plus sur les liens symboliques ici et ici .
Ce n'est qu'avec la deuxième méthode que vous créez en fait un alias.
Les alias permettent de remplacer une chaîne par un mot lorsqu'il est utilisé comme premier mot d'une commande simple. Le shell conserve une liste d'alias qui peuvent être définis et désactivés avec les commandes intégrées alias et unalias (voir COMMANDES DE CONSTRUCTION DE SHELL ci-dessous). Le premier mot de chaque commande simple, s'il n'est pas cité, est vérifié pour voir s'il a un alias. Si c'est le cas, ce mot est remplacé par le texte de l'alias.
Vous pouvez définir un alias n'importe où où vous pouvez taper une commande et demander au shell ( bash dans ce cas) de l'interpréter, mais pour que l'alias soit disponible dans d'autres shells, il doit être défini dans un fichier interprété par le shell au démarrage (démarrage du shell, pas du démarrage de l'ordinateur).
Pour bash, ce sont /etc/bash.bashrc
(à l'échelle du système) et ~/.bashrc
. Ces fichiers sont interprétés lorsque le shell démarre en mode interactif (comme lors de l'utilisation Terminal
). Je ne vais pas mentionner les fichiers de profil car ils ont un objectif différent.
Vous souhaitez donc ajouter vos alias pour les ~/.bashrc
rendre disponibles dans chaque shell interactif.
La .bash_aliases
méthode accomplit exactement la même chose que de mettre les alias ~/.bashrc
mais a l'avantage supplémentaire d'être plus facile à analyser et à manipuler par les programmes.
La . ~/.bash_aliases
source moyenne (charge) _~/.bash_aliases_
dans le contexte du shell en cours d'exécution.