Je me retrouve souvent à utiliser ll
qui est un alias.
$ type ll
ll is an alias for ls -lh
Je me suis toujours demandé où cela était défini car cela fonctionne à la fois sur bash
, zsh
mais pas sur sh
:
# THIS IS SH
$ ll
sh: 1: ll: not found
Dans Ubuntu, cet alias est défini par défaut dans le fichier _~/.bashrc
_, comme dans le mien:
_$ grep "alias ll" ~/.bashrc
alias ll='ls -alF'
_
Un autre fichier lu par défaut est le _~/.bash_aliases
_. Il n’existera peut-être pas tant que vous ne l’aurez pas créé, mais c’est la méthode recommandée pour stocker les alias, car leur conservation dans un fichier séparé est plus claire. Votre _~/.bashrc
_ contient la section suivante, l'expression if dans laquelle charge ce fichier d'alias s'il existe:
_# 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
_
En ce qui concerne zsh
Je suppose que l'alias est défini de la même manière dans votre fichier _~/.zshrc
_ ou dans tout fichier généré par celui-ci. Si vous utilisez _oh-my-zsh
_, il peut être contenu dans lib/directories.zsh
ou plugins/common-aliases/common-aliases.plugin.zsh
.
sh
(= dash
dans Ubuntu) lit uniquement _~/.profile
_, qui ne contient normalement aucun alias car ils sont définis comme étant spécifiques à Shell. Dans le cas d'un alias aussi simple que _alias ll='ls -lh'
_, vous pouvez toutefois rechercher une définition dans _~/.profile
_. Lectures supplémentaires: Existe-t-il un fichier équivalent ".bashrc" lu par tous les shells?