Comment puis-je lister et éditer tous les alias définis dans Terminal?

93

Un ami qui possédait mon Mac actuel avant moi a créé de nombreuses commandes d'alias. Existe-t-il un moyen de répertorier tous les alias définis et la commande qui leur est associée?

Et si oui, est-ce que je peux les éditer ou dois-je juste les supprimer en utilisant unalias et les recréer?

MattStacey
la source

Réponses:

105

Tout ce que vous avez à faire est de taper aliasà l'invite et tous les alias actifs seront listés.

Les alias sont généralement chargés lors de l'initialisation de votre shell, alors cherchez dans .bash_profileou .bashrcdans votre répertoire personnel.

unaliasne fonctionnera que pour votre session en cours. À moins que vous ne trouviez où il est défini et chargé, il sera chargé à nouveau lorsque vous démarrez une nouvelle session Terminal.

~/.bashrcs'exécute à la fois pour les shells de connexion et les autres, mais ~/.bash_profileuniquement pour les shells de connexion.

Voir shell de connexion vs shell sans connexion

Selon le commentaire de Chris Page:

Vous devez mettre la plupart de vos personnalisations (y compris les alias) ~/.bashrcet les avoir ~/.bash_profileexécutées ~/.bashrc. Elles s'appliquent donc aux shells avec (~/.bash_profile)ou sans login (~/.bashrc). Déterminez également lequel de ces éléments doit être "principal" et si le profil est votre choix, clouez-vous sur le fichier rc à la fin. Si le fichier rc est primaire, indiquez au début de votre profil.

Ces lignes doivent être dans le fichier ~/.bash_profile:

if [ -f "$HOME/.bashrc" ] ; then
  source $HOME/.bashrc
fi

Ceci inclura ~/.bashrcles coquilles de connexion et dans l'ordre que vous souhaitez si un fichier dépend de l'autre en fonction de ce que vous définissez.

conorgriffin
la source
1
Je vous recommande de placer la plupart de vos personnalisations dans ~ / .bashrc et de faire exécuter ~ / .bash_profile ~ / .bashrc, de sorte qu'elles s'appliquent aux shells de connexion (~ / .bash_profile) et non connecté (~ / .bashrc). par exemple, mettez ceci dans ~ / .bash_profile:if [ -f "$HOME"/.bashrc ]; then . "$HOME"/.bashrc fi
Chris Page
9

Vous devriez jeter un oeil dans ces fichiers:

/etc/profile
~/.profile
~/.bash_profile
~/.bashrc

Ce sont des fichiers de démarrage plausibles pour votre shell (que j'ai supposé être bash).

Cedric H.
la source
".bashrc" est le nom correct du fichier.
Chris Page
Tu as raison, je ne comprends pas pourquoi je l'ai écrit comme ça.
Cedric H.
Je l'aurais juste édité sans commentaire, mais StackExchange ne m'a pas laissé faire une édition d'un caractère.
Chris Page
Consultez également le fichier / etc / bashrc
EmmEff, le
N'oubliez pas tous les fichiers provenant de source ou. (point) dans ces fichiers.
ManuelSchneid3r