Wie finde ich Aliase?

8

Wo finde ich eine Liste / Datei aller in Ubuntu 17.04 erstellten Aliase? Ich meine Verknüpfungen für Befehle, die am häufigsten verwendet werden und mehr.

glc78
quelle

Antworten:

11

Liste der definierten Aliase

Geben aliasSie ein, Sie erhalten eine Liste aller in Ihrer Umgebung definierten.

$ alias
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

Liste entlang der Datei, in der sie festgelegt wurden

Verwenden Sie diese Lösung, um die Dateien zu finden, in denen Ihre Aliase definiert wurden, und ändern Sie sie ein wenig:

$ PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7> /tmp/mylog
$ grep "alias " /tmp/mylog | grep -e /home -e /etc

Auf diese Weise erhalten Sie eine Liste mit Dateien, in der angegeben ist, was dort aliasdefiniert ist. Die Ausgabe ähnelt der folgenden:

++/home/ravexina/.bashrc> alias 'la=ls -A'

Welche Zustände 'la=ls -A'wurden in meinem eingestellt .bashrc.


Wichtige Dateien

Es gibt viele Orte, an denen wir unsere Aliase definieren können. Die wichtigsten könnten sein:

  • Standard:
    • ~/.bashrc
    • ~/.bash_aliases
  • Einer von ihnen in der Reihenfolge:
    • ~/.bash_profile
    • ~/.bash_login
    • ~/.profile
  • Funktioniert, ist aber kein guter Ort, es sei denn, Sie möchten es systemweit:
    • /etc/bash.bashrc
    • /etc/profile

Und jeder andere Ort, der beim Ausführen einer Shell beschafft wird.

Ravexina
quelle
Hexe eine der 'wichtigen Dateien' ist die beste, um eine Funktion anstelle eines Alias ​​hinzuzufügen? Wenn es einen gibt.
glc78
1
Das wäre jedoch ~/.bashrc, was ich jedoch vorschlage, eine neue Datei zu erstellen: ~/.bash_functionsund alle Funktionen dort zu platzieren, dann diese Datei in Ihrer Art zu .bashrcquellen : . ~/.bash_functions.
Ravexina
Vor Ihrer Antwort habe ich gerade die Datei erstellt .bash_profileund hinzugefügt .bashrc. Ich werde die Datei wie vorgeschlagen umbenennen.
glc78
1
Denken Sie daran, wenn Sie eine Datei mit dem Namen verwenden, .bash_profilewird Ihr .profileTestament nicht mehr bezogen ...;)
Ravexina
Ich wusste es nicht. Ich benutze ~/.bash_functionsjetzt.
glc78
4

Aliase werden pro Benutzer und pro Shell definiert. Sie können über sehen, welche Aliase für Ihre aktuellen Shells definiert sind

alias

Lesen Sie mehr über Aliase in man bash.

Walzer
quelle
1

Ich könnte auch in werfen , dass die .bashrcfür neue Benutzer (nicht vorhandenen) aus aufgefüllt wird /etc/skel/.bashrc, innerhalb der Sie Aliase für Dinge wie finden ll, la, letc. Also , wenn Sie jeden neuen Benutzer wollen mehr haben / weniger / verschiedene Aliase , die das ist Ort, um sie zu ändern

xref
quelle