Wie Erstellen Sie Aliase und Shell-Funktionen unter Linux

0
36
Fatmawati Achmad Zaenuri/Shutterstock.com

Erstellen Sie Ihre eigenen Linux-Kommandos mit Hilfe von Aliasen und Bash-shell-Funktionen. Zähmen, sich wiederholende Aufgaben, kürzen Sie langwierige Prozesse, und konfigurieren Sie die standard-Befehle mit den Optionen, die Sie immer verwenden, und den Kampf zu erinnern.

Aliase und shell-Skripte sind leistungsfähige Techniken in Linux-und Unix-ähnliche Betriebssysteme, die es ermöglichen, Sie zu schärfen Sie Ihre Kommandozeilen-Erfahrung ist genau das, was Sie wollen. Definieren Sie Ihre eigenen Befehle, die auf Ihre speziellen Anforderungen abgestimmt, und zur Entlastung von sich wiederholenden Aufgaben.

Aliase und shell-Skripten tun die gleiche Art von job. Sie ermöglichen es, zu bestimmen—und Namen—eine Reihe von Bash-shell-Funktionalität, die ist dann aufrufbar, indem Sie den Namen haben Sie ihm gegeben. Die Eingabe der Namen ist einfacher und bequemer, als zu geben, alle Schritte oder Befehle, die jedes mal, wenn Sie Sie verwenden möchten.

Der Unterschied zwischen einem alias und einem Skript ist eines von Komplexität und Umfang. Skripte sind besser, halten länger und Ausführlicher codebestandteile. Aliase sind perfekt für das halten von kürzeren, mehr zugespitzten, Befehlssätze.

Vordefinierte Aliase

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

alias

Dies sind die Aliase definiert sind, die auf der Ubuntu-test-Maschine dieser Artikel erforscht wurde. Wenn ich das definiert jede benutzerdefinierte Aliase, diese würde zeigen, bis in dieser Liste auch.

An der Spitze der Liste, es gibt einen kompliziert anmutenden alias aufgerufen wachsam. Wir kommen dazu in einem moment. Es gibt eine Reihe von verschiedenen Aliasnamen für den Befehl ls, und es gibt eine Gruppe von Aliase, bieten Farb-Ausgabe des grep-Familie von Befehlen. Zum Beispiel mit diesen Aliasnamen definiert, wenn Sie Typ:

grep

Das system interpretiert es als:

grep –color=auto

Dies zeigt einen wichtigen Punkt mit Aliase. Sie können den gleichen Namen haben wie bestehende Befehle. Sie können sogar die original-Befehl in sich selbst.

Hier ist die definition der grep alias.

alias grep=’grep –color=auto’

  • Der alias-Befehl wird verwendet, um einen alias definieren.
  • Der name des alias angegeben weiter. In diesem Beispiel ist es grep.
  • Das Gleichheitszeichen verbindet den Namen des alias, um den Körper des alias. Für alle aber sehr einfach Aliase, die Körper der alias ist eingeschlossen in einfache Anführungszeichen ‘.
  • Der Körper der alias ist der Abschnitt, welcher ausgeführt wird, wenn der alias wird auf der Kommandozeile verwendet.

Der Körper dieser alias ruft einfach das grep-Kommando mit der Option –color=auto option.

Die alert-Alias

Als schnell zur Seite, so dass Sie wissen, was es tut, wird die Warnung alias wird verwendet, um Sie wissen zu lassen, wenn ein Befehl abgeschlossen ist. Es zeigt auch an, ob der Befehl erfolgreich ausgeführt wurde oder nicht. Es bietet eine grafische system-Warnung am oberen Rand des Bildschirms.

Hier ist ein einfaches Beispiel. Der sleep-Befehl schlafen für fünf Sekunden., Die alert-alias wird dann aufgerufen werden. Der alias überprüft die Antwort aus dem vorherigen Befehl. Es extrahiert den letzten Befehl aus der history-Datei. Es wird bestimmt, ob der Befehl erfolgreich ausgeführt wurde oder nicht. Es präsentiert dann die Ergebnisse in einem system-alert.

Wenn der Befehl abgeschlossen als erwartet, wird das Symbol in der system alert ist ein kleines terminal-Fenster. Wenn der Befehl einen Fehlercode zurückgegeben, das Symbol in der system alert ist ein rotes Fehler-Symbol.

sleep 5; alert

Nach fünf Sekunden, sehen wir dieses system alert:

Das Symbol ist ein kleines terminal-Fenster, sodass alles gut ging. Versuchen wir ‘ s nochmal mit einem Befehl, den wir kennen, wird scheitern:

DoomedToFail; alert

Unser system alert hat jetzt ein Fehler Symbol.

Die Definition einer Trivialen Alias

Wie wir gesehen haben, einen alias definieren, verwenden wir den Befehl alias.

Wir erstellen ein pseudonym für den Befehl “löschen”. Unsere alias aufgerufen wird, cls und es wird rufen Sie die clear-Befehl.

Unsere alias-definition ist so trivial, dass es nicht garantieren Wesen eingewickelt in einfache Anführungszeichen. Wenn der Körper des alias ist nicht mehr komplexer als diese, oder wenn er Leerzeichen enthält, schließen Sie es in Anführungszeichen. Wir definieren den alias verwenden Sie ls, um einige Ausgabe im terminal-Fenster und verwenden Sie dann unsere neuen alias cls löscht den Bildschirm.

alias cls=clear
ls -l
cls

Der Bildschirm gelöscht. Erfolg, wenn auch nur von kurzer Dauer. Der alias wird nur überleben, so lange wie das terminal-Fenster bleibt offen. Sobald das Fenster geschlossen wird, wird der alias wird verschwinden.

So wie machen wir unsere Aliase dauerhaft?

Die .bashrc-Datei und Aliase

Sie Fragen sich vielleicht, wo die abgepackten Aliase definiert sind. es ist in der “.bashrc” – Datei in Ihrem home-Ordner. Diese Datei wird gelesen, und die Befehle innerhalb es ausgeführt, wenn Sie starten Sie eine interaktive shell. Das ist, wenn Sie öffnen Sie ein terminal-Fenster.

Geben Sie den folgenden Befehl in Ihrem home-Ordner, um den Inhalt der “.bashrc” – Datei mit syntax-highlighting.

gedit .bashrc

Damit starten Sie den editor gedit mit dem “.bashrc” – Datei geladen es.

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

Blättern durch das Dokument wird zeigen zwei weitere Bereiche im Zusammenhang mit-Aliase:

Die erste ist die definition der alert-alias. Die zweite ist eine if-Anweisung. Er übersetzt: “wenn Sie in der Datei “.bash_aliases” vorhanden ist, Lesen Sie es.”

Wenn Sie nur ein paar Aliase, die Sie definieren möchten, könnten Sie setzen Sie Sie in Ihr “.bashrc” – Datei. Verstauen Sie in unten der Abschnitt mit den ls-Aliase.

Wenn Sie gehen, um eine Menge von Aliasen, oder Sie genauso wie die Idee, dass Sie Ihre Aliase, eingekapselt in Ihrer eigenen Datei, können Sie definieren, Sie in Ihr “.bash_aliases” – Datei. Ein Vorteil von erstellen Sie in Ihrem “.bash_aliases” – Datei ist, können Sie nicht versehentlich änderungen an den Einstellungen in der “.bashrc” – Datei. Ein weiterer Vorteil ist Ihre Aliase sind einfach kopiert, um neue Systeme, weil Sie völlig losgelöst vom “.bashrc” – Datei.

Die Speicherung von alias in die .bash_aliases Datei

Die “.bash_aliases” Datei nicht vorhanden, bis Sie es schaffen. Sie können die Datei mit diesem Befehl:

touch .bash_aliases

Wir Bearbeiten die Datei und fügen Sie ein paar Aliase es. Mit diesem Befehl öffnen Sie das “.bash_aliases” – Datei im gedit-editor.

gedit .bash_aliases

Wir haben noch drei Aliase. Das erste ist unsere cls-alias, die wir schon früher verwendet. Die nächste wird aufgerufen. h. und ist ein Kürzel Art des Aufrufs der history-Befehl.

Die Dritte alias genannt ftc. Dies steht für “Datei-Typ zählen.”

Dieser alias wird mehr involviert, so ist es eingewickelt in einfache Anführungszeichen. Es verwendet eine Kette von Kommandos miteinander durch pipes. Es erzeugt eine sortierte Liste mit den verschiedenen Datei-Erweiterungen und Verzeichnis-Namen, mit einem Zähler für jeden Eintrag.

VERWANDTE: Wie man Rohre auf Linux

Wenn wir gerettet “.bash_aliases” – Datei, könnten wir erwarten, dass unsere Aliase werden live und zugänglich. Das ist nicht der Fall. Die Datei muss eingelesen werden, die von der Bash-shell aus, bevor Sie die alias-Definitionen Leben. Dies geschieht, wenn eine interaktive shell wird geöffnet.

Wir können auch die shell Bash built-in . zum Lesen und ausführen von Befehlen in einer Datei. Weil unser “.bash_alias” Datei wird eingelesen, wenn “.bashrc” verarbeitet wird, sollten wir, um unseren test durch Aufruf von “.bashrc”. Auf diese Weise können wir überprüfen, dass die “.bash_alias” – Datei aufgerufen wird “.bashrc” und dass unsere Aliase sind lebendig und gut.

Die Befehle, die wir verwendet haben sind:

gedit .bash_alias

Zum Bearbeiten der “.bash_alias” – Datei.

. .bashrc

Diese wird eingelesen und ausgeführt werden die Befehle in “.bashrc”, die rufen Sie an “.bash_alias”.

ftc

Dies ruft die ftc alias.

Unsere alias reagiert, was bedeutet, dass die Bash Lesen Sie in den beiden “.bashrc” und “.bash_aliases”, und unsere neue Aliase sind jetzt live.

Sie können jetzt gehen Sie vor und fügen neue Aliase in der “.bash_aliases” – Datei, wie Sie Euch auftreten. Wenn Sie finden, sich selbst Dinge zu tun, mehr als einmal oder zweimal, sollte sich ein alias dafür.

Entfernen Aliase

Gibt es einen Befehl zu entfernen, Aliase, so dass BAsh nicht erkennen, Sie noch darauf zu reagieren. Erfrischend ehrlich, das unalias-Befehl aufgerufen wird.

Um es zu verwenden, geben Sie den Namen des alias, den Sie haben möchten Bash vergessen. Machen Bash zu vergessen unsere ftc-alias, unalias verwenden, wie diese:

unalias ftc

Sie verwenden können, zu entfernen unalias alias den Sie definiert haben, und jede der vordefinierten Aliase.

Entfernen Sie alle Aliase aus Ihrem system und verwenden Sie die Option-a (all) option:

unalias -a

Bash ist Verlust des Gedächtnisses wird nicht von Dauer sein, wenn. Das nächste mal, wenn Sie öffnen Sie ein terminal-Fenster, die “vergessen” Aliasen zurück. Um wirklich zu vernichten, die Sie brauchen, um Sie zu entfernen von Ihrem “.bashrc” und “.bash_alias” – Dateien.

Wenn Sie denken, dass Sie jemals wie Sie zu haben zurück, nicht löschen Sie Sie von Ihrem “.bashrc” – Datei. Stattdessen kommentieren Sie aus, indem Sie ein hash # am Anfang jeder Zeile alias. Machen Sie Ihre “.bash_alias” Datei unwirksam, es umzubenennen. Wenn Ihr “.bashrc” – Datei kann es nicht sehen, es nicht Lesen. Die Umkehr dieser Schritte zur Reaktivierung deines aliases ist eine triviale Angelegenheit.

Shell-Funktionen

Lika-Aliase, Bash shell-Funktionen definiert werden können, innerhalb der “.bashrc” – Datei, aber es ist oft übersichtlicher, Sie in Ihre eigene definitions-Datei. Nennen wir es “.bash_functions”, mit der Konvention verwendet für die “.bash_aliases” – Datei.

Das bedeutet, dass wir sagen müssen, das “.bashrc” – Datei, Lesen Sie in unseren Definitionen. Wir können kopieren und ändern der code-snippet, das liest sich in der “.bash_aliases” – Datei. Starten gedit und laden Sie die “.bashrc” – Datei mit diesem Befehl:

gedit .bashrc

Sie müssen fügen Sie den hervorgehobenen Abschnitt unten dargestellt.

Hervorheben kann man die alias-Abschnitt und Strg+C drücken und dann verschieben, wo Sie möchten, die neue Sektion ein und drücken Sie Strg+V fügen Sie eine Kopie des Textes. Dann alles, was Sie tun müssen, ändern die beiden stellen, wo es sagt “.bash_aliases” zu “.bash_functions.”

Wir können diese änderungen speichern und schließen Sie gedit.

Nun wollen wir das erstellen und Bearbeiten “.bash_functions” – Datei, und legen Sie die definition einer Funktion in es.

touch .bash_functions
gedit .bash_functions

Es öffnet sich die leere “.bash_functions” – Datei in gedit.

Wir fügen Sie eine einfache Funktion aufgerufen. bis dauern wird, um eine einzige Befehlszeile, parameter, die für eine Ziffer. bis dann cd.., dass die Anzahl der Zeiten. Also, wenn man folgenden Befehl verwendet

bis 2

bis nennen würde Sie cd .. ein, zweimal und würde bewegen auf zwei Ebenen im Verzeichnisbaum.

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

Funktion() {

Das Wort Funktion ist optional. Wenn Sie ein traditionalist, verwenden Sie es, wenn Sie nicht belästigt werden, indem Sie es in, lassen Sie es aus.

Hier ist unsere gesamte Funktion in gedit:

Funktion() {

Dies markiert den start unserer definition einer Funktion und den Namen der Funktion.

Level=$1

Dies erstellt eine variable mit dem Namen Ebenen und setzt es auf den Wert des ersten Parameters. Dieser parameter wird eine Ziffer durch den Benutzer bereitgestellt werden, wenn Sie die Funktion aufrufen. Die $1 “bedeutet” erste Kommandozeilen-parameter.”

while [ “$Level” -gt “0” ]; do

Wir treten dann in eine Schleife. Dies bedeutet übersetzt: “während der Wert von Ebenen ist größer als null ist, zu tun, was enthalten ist in den Körper der Schleife.”

Im Rumpf der Schleife müssen wir zwei Befehle. Sie sind:

cd ..

Bewegen um eine Stufe in der Verzeichnisstruktur.

Level=$(($Level – 1))

Legen Sie Ebenen auf einen neuen Wert, der um eins kleiner als den aktuellen Wert.

Wir gehen dann zurück an den Anfang der Schleife, der Vergleich zwischen dem Wert der Ebenen, und null ist einmal mehr. Wenn Level größer als null ist, wird der Körper der Schleife wird erneut ausgeführt. Wenn es nicht größer ist als null, wird die Schleife beendet ist, und wir fallen durch die Aussage gemacht, und die Funktion ist über.

Speichern Sie diese änderungen, und schließen Sie gedit.

Wir werden eingelesen und die enthaltenen Befehle auszuführen “.bashrc”, die sollte Lesen in und führen Sie die Befehle in unser “.bash_functions” – Datei.

. .bashrc

Wir können testen Sie die Funktion, indem Sie zu einem Speicherort im Verzeichnisbaum und bis zu bewegen, wieder zu einer “höheren” Stelle in der Verzeichnisstruktur.

cd ./work/backup/
bis 2

Die Funktion arbeitet. Wir sind bewegt, zwei Verzeichnisebenen höher in den Baum.

Verfolgen Mit Typ

Wie bauen Sie eine suite von Aliasnamen und eine Bibliothek von Funktionen, kann es schwierig werden, sich daran zu erinnern, ob ein bestimmter Befehl ist ein alias oder eine Funktion ist. Sie kann mit dem type-Befehl, um Sie daran zu erinnern. Das Coole hier ist, dass Sie auch bekommen, um eine definition zu sehen.

Wir verwenden auf unserer ftc-alias und unsere up-Funktion.

Typ ftc
geben

Wir erhalten eine nützliche Erinnerung daran, welche Art von Befehl ist jede einzelne zusammen mit Ihren Definitionen.

Sammeln

Aliase und Funktionen, die beschleunigen kann die Verwendung der Kommandozeile ungemein. Sie können verkürzen Befehls-Sequenzen, und lassen Sie Sie Backen-in den Optionen, die Sie immer verwenden mit standard-Befehle.

Jedes mal, wenn Sie sehen, eine nette one-liner oder nützlichen Funktion, können Sie anpassen und Personalisieren Sie es und fügen Sie es zu Ihrem “.bash_aliases” oder “.bash_functions” – Dateien.

LESEN SIE WEITER

  • › Was Ist Apple Arcade? Hier ist Alles, was Sie Wissen Müssen
  • › Was Ist Ultra-Wideband, und Warum Ist Es In der iPhone 11?
  • › Wie eine Maus Mit Ihrem iPad oder iPhone
  • › Wie die XLOOKUP-Funktion in Microsoft Excel
  • › Browser Sind, Bringt die Automatische Dunkel-Modus zu Websites