Wie kann ich alle definierten Aliase in Terminal auflisten und bearbeiten?

93

Ein Freund, dem mein aktueller Mac vor mir gehörte, hat viele Alias-Befehle erstellt. Gibt es eine Möglichkeit, alle definierten Aliase und den damit verbundenen Befehl aufzulisten?

Und wenn ja, kann ich sie bearbeiten oder sollte ich sie einfach mit Hilfe von Unalias entfernen und neu erstellen?

MattStacey
quelle

Antworten:

105

Alles, was Sie tun müssen, ist aliasdie Eingabe an der Eingabeaufforderung und alle aktiven Aliase werden aufgelistet.

Aliase werden normalerweise bei der Initialisierung Ihrer Shell geladen, schauen Sie also in .bash_profileoder .bashrcin Ihr Home-Verzeichnis.

unaliasfunktioniert nur für Ihre aktuelle Sitzung. Sofern Sie nicht herausfinden, wo es definiert und geladen ist, wird es erneut geladen, wenn Sie eine neue Terminal-Sitzung starten.

~/.bashrcWird sowohl für Anmelde- als auch für Nicht-Anmelde-Shells ausgeführt. Wird ~/.bash_profilenur für Anmelde-Shells ausgeführt.

Siehe Anmeldeshell vs Nicht-Anmeldeshell

Laut Kommentar von Chris Page:

Sie sollten die meisten Anpassungen (einschließlich Aliasnamen) eingeben ~/.bashrcund ~/.bash_profileausführen ~/.bashrc, damit sie sowohl für Anmelde- (~/.bash_profile)als auch für Nicht-Anmelde- (~/.bashrc)Shells gelten. Entscheiden Sie auch, welche davon "primär" sein soll. Wenn Sie das gewünschte Profil auswählen, markieren Sie die RC- Datei am Ende. Wenn es sich bei der RC- Datei um eine Primärdatei handelt, geben Sie diese am Anfang Ihres Profils an

Diese Zeilen sollten sich in der Datei befinden ~/.bash_profile:

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

Dies gilt auch ~/.bashrcfür Login-Shells und in der von Ihnen gewünschten Reihenfolge, wenn eine Datei von der anderen abhängig ist.

conorgriffin
quelle
1
Ich empfehle, dass Sie die meisten Anpassungen in ~ / .bashrc einfügen und ~ / .bash_profile auf ~ / .bashrc ausführen lassen, sodass sie sowohl für Anmelde- (~ / .bash_profile) als auch für Nicht-Anmelde-Shells (~ / .bashrc) gelten. Geben Sie dies beispielsweise in ~ / .bash_profile ein:if [ -f "$HOME"/.bashrc ]; then . "$HOME"/.bashrc fi
Chris Page
9

Sie sollten einen Blick in diese Dateien werfen:

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

Dies sind plausible Startdateien für Ihre Shell (von denen ich angenommen habe, dass sie bash sind).

Cedric H.
quelle
".bashrc" ist der richtige Name der Datei.
Chris Seite
Du hast recht, ich weiß nicht warum ich es so geschrieben habe.
Cedric H.
Ich hätte es nur kommentarlos bearbeitet, aber mit StackExchange konnte ich keine Ein-Zeichen-Bearbeitung vornehmen.
Chris Seite
Überprüfen Sie auch die systemweite / etc / bashrc
EmmEff
Vergessen Sie nicht alle Dateien, die über source oder bezogen wurden. (Punkt) in diesen Dateien.
ManuelSchneid3r