Ein Terminalfenster auf einem Linux-Laptop

Fatmawati Achmad Zaenuri/Shutterstock.com

Erstellen Sie Ihre eigenen Linux-Befehle mit Aliasen und Bash-Shell-Funktionen. Zähmen Sie sich wiederholende Aufgaben, kürzen Sie langwierige Prozesse und konfigurieren Sie Standardbefehle mit den Optionen, die Sie immer verwenden und sich nur schwer merken können.



Aliasse und Shell-Skripte sind leistungsstarke Techniken in Linux- und Unix-ähnlichen Betriebssystemen, die es Ihnen ermöglichen, Ihre Befehlszeilenerfahrung so zu verbessern, dass sie genau das ist, was Sie wollen. Sie können Ihre eigenen Befehle definieren, die Ihren spezifischen Anforderungen entsprechen und sich wiederholende Aufgaben erleichtern.

Aliase und Shell-Skripte die gleiche Arbeit machen. Sie ermöglichen es Ihnen, eine Reihe von Bash-Shell-Funktionen zu definieren und zu benennen, die dann mit dem von Ihnen angegebenen Namen aufgerufen werden können. Das Eingeben des Namens ist einfacher und bequemer, als jedes Mal alle Schritte oder Befehle eingeben zu müssen, wenn Sie sie verwenden möchten.

Der Unterschied zwischen einem Alias ​​und einem Skript liegt in der Komplexität und dem Umfang. Skripte sind besser darin, längere und aufwändigere Code-Blöcke zu speichern. Aliase sind perfekt, um kürzere, prägnantere Befehlssätze zu halten.

Vordefinierte Aliase

Einige Aliase sind für Sie vordefiniert. Um die Liste der in Ihrem System definierten Aliase anzuzeigen, verwenden Sie den Befehl alias ohne Parameter:

alert

Anzeige

Dies sind die Aliase, die auf der Ubuntu-Testmaschine definiert sind, über die dieser Artikel recherchiert wurde. Wenn ich benutzerdefinierte Aliase definiert hätte, würden diese auch in dieser Liste angezeigt.

Oben in der Auflistung befindet sich ein kompliziert aussehender Alias ​​namens |_+_|. Dazu kommen wir gleich. Es gibt eine Reihe verschiedener Aliase für die |_+_| Befehl, und es gibt eine Gruppe von Aliasnamen, die eine Farbausgabe für die |_+_| Familie von Befehlen . Beispielsweise mit diesen definierten Aliasnamen, wenn Sie Folgendes eingeben:

ls

Das System interpretiert es als:

grep

Dies zeigt einen wichtigen Punkt mit Aliasen. Sie können denselben Namen haben wie vorhandene Befehle. Sie können sogar den ursprünglichen Befehl in sich selbst enthalten.

Hier ist die Definition von |_+_| alias.

grep
  • Die |_+_| Befehl wird verwendet, um einen Alias ​​zu definieren.
  • Als nächstes wird der Name des Alias ​​angegeben. In diesem Beispiel ist es |_+_|.
  • Das Gleichheitszeichen verbindet die Name des Alias ​​für die Karosserie des Decknamens. Bei allen außer sehr einfachen Aliasnamen wird der Körper des Aliasnamens in einfache Anführungszeichen |_+_| eingeschlossen.
  • Der Rumpf des Alias ​​ist der Abschnitt, der ausgeführt wird, wenn der Alias ​​in der Befehlszeile verwendet wird.

Der Körper dieses Alias ​​ruft einfach das |_+_| Befehl mit dem |_+_| Möglichkeit.

was ist eine leseliste

Der Benachrichtigungs-Alias

Zur schnellen Seite und damit Sie wissen, was es tut, das |_+_| Alias ​​wird verwendet, um Sie wissen zu lassen, wenn ein Befehl beendet wurde. Es zeigt auch an, ob der Befehl erfolgreich abgeschlossen wurde oder nicht. Es bietet eine grafische Systemwarnung am oberen Rand des Bildschirms.

Hier ist ein einfaches Beispiel. Die |_+_| Befehl schläft fünf Sekunden lang., Das |_+_| Alias ​​wird dann aufgerufen. Der Alias ​​überprüft die Antwort des vorherigen Befehls. Es extrahiert den letzten Befehl aus der History-Datei. Es bestimmt, ob der Befehl erfolgreich abgeschlossen wurde oder nicht. Anschließend präsentiert es die Ergebnisse in einer Systemwarnung.

Anzeige

Wenn der Befehl wie erwartet ausgeführt wurde, ist das Symbol in der Systemwarnung ein kleines Terminalfenster. Wenn der Befehl einen Fehlercode zurückgegeben hat, ist das Symbol in der Systemwarnung ein rotes Fehlersymbol.

alias

Nach fünf Sekunden sehen wir diese Systemwarnung:

Systemwarnung für den Schlafbefehl

Das Symbol ist ein kleines Terminalfenster, was bedeutet, dass alles gut gelaufen ist. Versuchen wir es noch einmal mit einem Befehl, von dem wir wissen, dass er fehlschlagen wird:

grep

Unsere Systemwarnung hat jetzt ein Fehlersymbol.

Definieren eines trivialen Alias

Wie wir gesehen haben, verwenden wir zum Definieren eines Alias ​​|_+_| Befehl.

Wir erstellen ein Pseudonym für die |_+_| Befehl. Unser Alias ​​wird |_+_| . heißen und es wird die |_+_| . aufrufen Befehl .

Datenträger mbr oder gpt initialisieren

Unsere Alias-Definition ist so trivial, dass sie nicht in einfache Anführungszeichen eingeschlossen werden muss. Wenn der Rumpf des Alias ​​komplexer ist oder Leerzeichen enthält, schließen Sie ihn in einfache Anführungszeichen ein. Wir definieren den Alias, verwenden Sie |_+_| um eine Ausgabe in das Terminalfenster zu geben und dann unseren neuen Alias ​​|_+_| . zu verwenden um den Bildschirm zu löschen.

' grep --color=auto

Der Bildschirm wird gelöscht. Erfolg, wenn auch nur von kurzer Dauer. Der Alias ​​wird nur so lange überleben, wie dieses Terminalfenster geöffnet bleibt. Sobald das Fenster geschlossen wird, verschwindet der Alias.

Wie machen wir also unsere Aliasnamen dauerhaft?

Die .bashrc-Datei und Aliase

Sie fragen sich vielleicht, wo die vorgefertigten Aliase definiert sind. es befindet sich in der .bashrc-Datei in Ihrem Home-Ordner. Diese Datei wird gelesen und die darin enthaltenen Befehle ausgeführt, wenn Sie eine interaktive Shell starten. Das heißt, wenn Sie ein Terminalfenster öffnen.

Anzeige

Geben Sie den folgenden Befehl in Ihren Home-Ordner ein, um den Inhalt der .bashrc-Datei mit Syntaxhervorhebung anzuzeigen.

alert

Dies startet die |_+_| Editor mit der darin geladenen .bashrc-Datei.

gedit mit .bashrc geladen int

Die hervorgehobenen Bereiche zeigen zwei Bereiche, in denen Aliase definiert sind.

Wenn Sie durch das Dokument scrollen, werden zwei weitere Abschnitte zu Aliasen angezeigt:

Die erste davon ist die Definition von |_+_| alias. Das zweite ist ein |_+_| Erklärung. Es bedeutet, wenn die Datei .bash_aliases existiert, lesen Sie sie ein.

Wenn Sie nur wenige Aliase definieren möchten, können Sie diese in Ihre .bashrc-Datei einfügen. Stecken Sie sie unter den Abschnitt mit den |_+_| Decknamen.

Anzeige

Wenn Sie viele Aliase erstellen möchten oder einfach nur die Idee haben, Ihre Aliase in einer eigenen Datei zu kapseln, können Sie sie in Ihrer .bash_aliases-Datei definieren. Ein Vorteil der Erstellung in Ihrer .bash_aliases-Datei besteht darin, dass Sie keine der Einstellungen in der .bashrc-Datei versehentlich ändern können. Ein weiterer Vorteil ist, dass Ihre Aliase leicht auf neue Systeme kopiert werden können, da sie vollständig von der .bashrc-Datei getrennt sind.

Speichern von Aliasen in der .bash_aliases-Datei

Die .bash_aliases-Datei existiert erst, wenn Sie sie erstellen. Sie können die Datei mit diesem Befehl erstellen:

sleep

Lassen Sie uns die Datei bearbeiten und ihr ein paar Aliase hinzufügen. Dieser Befehl öffnet die .bash_aliases-Datei im |_+_| Editor.

alert

Wir haben drei Aliase hinzugefügt. Das erste ist unser |_+_| Alias, den wir zuvor verwendet haben. Der nächste heißt |_+_| und ist eine Kurzform für den Aufruf von |_+_| Befehl.

Der dritte Alias ​​heißt |_+_|. Dies steht für Dateitypanzahl.

Dieser Alias ​​ist komplizierter und wird daher in einfache Anführungszeichen eingeschlossen. Es verwendet eine Kette von Befehlen, die durch Pipes miteinander verbunden sind. Es erzeugt eine sortierte Liste der verschiedenen Dateierweiterungen und Verzeichnisnamen mit einer Zählung für jeden Listeneintrag.

VERBUNDEN: Wie man Pipes unter Linux verwendet

Wenn wir die .bash_aliases-Datei gespeichert haben, erwarten wir möglicherweise, dass unsere Aliase live und zugänglich sind. Das ist nicht der Fall. Die Datei muss von der Bash-Shell eingelesen werden, bevor die Alias-Definitionen live sind. Dies geschieht immer dann, wenn eine interaktive Shell geöffnet wird.

Anzeige

Wir können auch die integrierte Bash-Shell verwenden |_+_| zu die Befehle lesen und ausführen in einer Datei. Da unsere .bash_alias-Datei bei der Verarbeitung von .bashrc eingelesen wird, sollten wir unseren Test durch Aufrufen von .bashrc durchführen. Auf diese Weise können wir überprüfen, ob die .bash_alias-Datei von .bashrc aufgerufen wird und dass unsere Aliasnamen aktiv sind.

Die von uns verwendeten Befehle sind:

alias

Um die .bash_alias-Datei zu bearbeiten.

Telefon mit projektor usb verbinden
clear

Dadurch werden die Befehle in .bashrc eingelesen und ausgeführt, wodurch .bash_alias aufgerufen wird.

cls

Dadurch wird das |_+_| . aufgerufen alias.

Unser Alias ​​antwortet, was bedeutet, dass Bash sowohl .bashrc als auch .bash_aliases eingelesen hat und unsere neuen Aliase jetzt live sind.

Sie können jetzt fortfahren und der Datei .bash_aliases neue Aliase hinzufügen, wenn Ihnen diese einfallen. Wenn Sie feststellen, dass Sie Dinge mehr als ein- oder zweimal tun, ziehen Sie in Betracht, einen Alias ​​​​ dafür zu erstellen.

Aliase entfernen

Es gibt einen Befehl zu Aliasse entfernen damit BAsh sie weder erkennt noch darauf antwortet. Erfrischend direkt heißt der Befehl |_+_|.

Anzeige

Um es zu verwenden, geben Sie den Namen des Alias ​​ein, den Bash vergessen soll. Damit Bash unser |_+_| vergisst Alias, verwenden Sie |_+_| so was:

clear

Sie können |_+_| . verwenden um von Ihnen definierte Aliase und alle vordefinierten Aliase zu entfernen.

Um alle Aliase von Ihrem System zu entfernen, verwenden Sie |_+_| (alle) Möglichkeit:

ls

Der Speicherverlust von Bash wird jedoch nicht dauerhaft sein. Wenn Sie das nächste Mal ein Terminalfenster öffnen, werden die vergessenen Aliase wieder angezeigt. Um sie wirklich zu löschen, müssen Sie sie aus Ihren .bashrc- und .bash_alias-Dateien entfernen.

Wenn Sie denken, dass Sie sie jemals wieder haben möchten, löschen Sie sie nicht aus Ihrer .bashrc-Datei. Kommentieren Sie sie stattdessen aus, indem Sie einen Hash |_+_| . hinzufügen zum Anfang jedes |_+_| Linie. Um Ihre .bash_alias-Datei unwirksam zu machen, benennen Sie sie um. Wenn Ihre .bashrc-Datei sie nicht sehen kann, wird sie nicht eingelesen. Diese Schritte rückgängig zu machen, um Ihre Aliasse wiederherzustellen, ist eine triviale Angelegenheit.

Shell-Funktionen

Lika-Aliasnamen, Bash-Shell-Funktionen können in der .bashrc-Datei definiert werden, aber es ist oft einfacher, sie in ihre eigene Definitionsdatei zu packen. Wir nennen es .bash_functions, gemäß der Konvention, die für die .bash_aliases-Datei verwendet wird.

Anzeige

Das bedeutet, dass wir der .bashrc-Datei mitteilen müssen, dass sie unsere Definitionen einlesen soll. Wir können das Code-Snippet kopieren und ändern, das in der .bash_aliases-Datei gelesen wird. Starte |_+_| und laden Sie die .bashrc-Datei mit diesem Befehl:

cls

Sie müssen den unten gezeigten hervorgehobenen Abschnitt hinzufügen.

Sie können den Alias-Abschnitt markieren und |_+_| . drücken und gehen Sie dann an die Stelle, an der Sie den neuen Abschnitt haben möchten, und drücken Sie |_+_| um eine Kopie des Textes einzufügen. Dann müssen Sie nur noch die beiden Stellen, an denen .bash_aliases steht, in .bash_functions ändern.

Wir können diese Änderungen speichern und |_+_| schließen.

Jetzt erstellen und bearbeiten wir die Datei .bash_functions und fügen eine Funktionsdefinition darin ein.

gedit alert

Dadurch wird die leere .bash_functions-Datei in |_+_| geöffnet.

Wir werden eine einfache Funktion namens |_+_| hinzufügen. |_+_| nimmt einen einzelnen Befehlszeilenparameter, bei dem es sich um eine Ziffer handelt. |_+_| ruft dann |_+_| . an so oft. Also, wenn Sie den Befehl verwendet haben

wie man ethernet kabel spleißt
if

|_+_| würde |_+_| . anrufen zweimal und würde im Verzeichnisbaum zwei Ebenen nach oben springen.

Es gibt verschiedene Möglichkeiten, eine Funktion zu definieren. Hier ist eine:

lsAnzeige

Das Wort |_+_| es ist optional. Wenn Sie ein Traditionalist sind, verwenden Sie es, wenn Sie sich nicht die Mühe machen, es einzugeben, lassen Sie es weg.

Hier ist unsere gesamte Funktion in |_+_|:

Die up() Bash-Shell-Funktion in gedit

gedit

Dies markiert den Beginn unserer Funktionsdefinition und nennt die Funktion |_+_|.

cls

Dadurch wird eine Variable namens |_+_| . erstellt und setzt ihn auf den Wert des ersten Parameters. Dieser Parameter ist eine Ziffer, die der Benutzer beim Aufrufen der Funktion bereitstellt. Die |_+_| bedeutet erster Befehlszeilenparameter.

h.

Wir treten dann in eine Schleife ein. Dies bedeutet, dass während der Wert von |_+_| größer als Null ist, tun Sie, was im Schleifenkörper enthalten ist.

Innerhalb des Schleifenkörpers haben wir zwei Befehle. Sie sind:

history

Gehen Sie im Verzeichnisbaum eine Ebene nach oben.

ftc

Set |_+_| auf einen neuen Wert, der eins weniger als sein aktueller Wert ist.

Anzeige

Wir gehen dann zurück zum Anfang der Schleife, dem Vergleich zwischen dem Wert von |_+_| und Null wird noch einmal gemacht. Wenn |_+_| größer als Null ist, wird der Schleifenkörper erneut ausgeführt. Wenn es nicht größer als Null ist, ist die Schleife beendet und wir gehen weiter zum |_+_| -Anweisung, und die Funktion ist beendet.

Speichern Sie diese Änderungen und schließen Sie |_+_|.

Wir werden die Befehle in .bashrc einlesen und ausführen, die die Befehle in unserer .bash_functions-Datei einlesen und ausführen sollen.

.

Wir können die Funktion testen, indem wir an eine Stelle im Verzeichnisbaum wechseln und |_+_| . verwenden um zu einem höheren Punkt im Verzeichnisbaum zurückzukehren.

ftc unalias

Die Funktion funktioniert. Wir sind im Baum um zwei Verzeichnisebenen nach oben verschoben.

Den Überblick behalten mit Typ

Wenn Sie eine Reihe von Aliasen und eine Funktionsbibliothek aufbauen, kann es schwierig werden, sich daran zu erinnern, ob ein bestimmter Befehl ein Alias ​​oder eine Funktion ist. Sie können die |_+_| Befehl um dich zu erinnern . Das Coole hier ist, dass Sie auch die Definition sehen.

Verwenden wir |_+_| auf unserem |_+_| Alias ​​und unser |_+_| Funktion.

ftc unalias

Anzeige

Wir erhalten eine sehr nützliche Erinnerung daran, um welche Art von Befehlen es sich handelt, zusammen mit ihren Definitionen.

Fangen Sie an zu sammeln

Aliase und Funktionen können die Verwendung der Befehlszeile enorm beschleunigen. Sie können Befehlssequenzen verkürzen und Sie können die Optionen, die Sie immer mit Standardbefehlen verwenden, einbacken.

Jedes Mal, wenn Sie eine raffinierte Einzeiler- oder nützliche Funktion sehen, können Sie sie anpassen und personalisieren und sie dann zu Ihren .bash_aliases- oder .bash_functions-Dateien hinzufügen.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN