Réponses:
Le type
construit est utile pour cela. Il vous renseignera non seulement sur les alias, mais également sur les fonctions, les commandes intégrées, les mots-clés et les commandes externes.
$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep ()
{
ps -ef | {
read -r;
printf '%s\n' "$REPLY";
grep --color=auto "$@"
}
}
type -a cmd
affichera toutes les commandes de ce nom par ordre de priorité, ce qui est utile pour le ls
pseudonyme ci-dessus, où le pseudonyme lui-même appelle ls
.
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
Cela vous indique que lorsque vous exécutez ls
, /bin/ls
sera utilisé et --color=auto
sera inclus dans la liste des arguments, en plus de tout autre argument que vous ajoutez vous-même.
type
jusqu'à ce que vous frappiez autre chose qu'un alias ...
type
elle analysera / interprétera toutes les citations afin que vous puissiez vous assurer que les citations sont exactes.
ls is aliased to 'ls --color=auto'
, mais comment puis-je approfondir une couche pour savoir si elle utilise / bin / ls ou / usr / local / bin / ls ou quoi?
type -a ls
affichera toutes les commandes ls trouvées par ordre de préférence. Celui qui est juste en dessous du pseudonyme est celui qui sera exécuté par le pseudonyme.
Il suffit de taper alias
à l'invite du shell. Il devrait générer une liste de tous les alias actuellement actifs.
Vous pouvez également taper alias [command]
pour voir à quel alias spécifique est associé, par exemple, si vous souhaitez savoir à quoi il correspond ls
, vous pouvez le faire alias ls
.
alias ls
pour savoir ce qui ls
est spécifiquement aliasé.
type
cependant, fonctionne dans les deux cas.
J'aime beaucoup Ctrl+ Alt+, Ecomme j'ai appris de cette réponse . Il "développe" la ligne de commande actuellement typée, ce qui signifie qu'il effectue le développement d'alias (entre autres).
Qu'est-ce que ça veut dire? Il transforme n'importe quel alias, qui pourrait être actuellement écrit sur la ligne de commande, en ce que cet alias signifie.
Par exemple, si je tape:
$ ls
puis appuyez sur Ctrl+ Alt+ E, il est transformé en
$ ls --time-style=locale --color=auto
squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R
au lieu desqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
À proprement parler, la bonne réponse consiste à utiliser le tableau BASH_ALIASES, par exemple:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
ls
alias actuel sans modifier ce qui y est. Alors je vais alias ls="${BASH_ALIASES[ls]} --time-style=iso"
pour mon cas.
Vous pouvez utiliser la which
commande.
Si vous définissez un alias pour ls
as ls -al
puis tapez which ls
, vous verrez:
ls: aliased to ls -al
.
which
commande.
which
est un mauvais moyen de rechercher des alias, comme expliqué ici: unix.stackexchange.com/questions/10525/… Cela ne fonctionne même pas pour moi pour les alias dans bash sur Ubuntu.