Erstellen Sie Ihre eigenen Linux-Befehle mit Aliasen und Bash-Shell-Funktionen. Kontrollieren Sie sich wiederholende Aufgaben, kürzen Sie langwierige Prozesse und konfigurieren Sie Standardbefehle mit Alternativen, die Sie immer verwenden und sich nur schwer merken können.
Alias und Shell-Skripte sind leistungsstarke Techniken auf 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 einstellen, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind und sich wiederholende Aufgaben entlasten.
Alias und Skripte der Shell mach die gleiche arbeit. Sie ermöglichen es Ihnen, sich zu etablieren (und Name) eine Reihe von Bash-Shell-Funktionen, die dann unter 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 eignen sich besser, um längere und aufwändigere Code-Schnipsel zu speichern. Aliase sind perfekt, um Befehlssätze kürzer und prägnanter zu halten.
Vordefinierte Aliase
Einige Aliase sind für Sie vordefiniert. Um die Liste der Aliase anzuzeigen, die auf Ihrem System definiert sind, Alias-Befehl ohne Parameter verwenden:
alias
Dies sind die Aliase, die auf dem Ubuntu-Testcomputer definiert sind, auf dem dieser Beitrag untersucht wurde. Wenn ich benutzerdefinierte Aliase definiert hätte, diese würden auch in dieser Liste erscheinen.
Ganz oben auf der Liste, Es gibt einen knifflig aussehenden Alias namens alert
. Dazu kommen wir gleich. Es gibt viele verschiedene Aliase für ls
Befehl, und es gibt eine Gruppe von Aliasnamen, die die Farbausgabe an die grep
Befehlsfamilie. Als Beispiel, mit diesen Aliasen definiert, immer wenn ich schreibe:
grep
Das System interpretiert es als:
grep --color=auto
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 grep
alias.
Alias grep = 'grep --color = auto'
- das
alias
Der Befehl wird verwendet, um einen Alias zu setzen. - Der Name des Alias ist unten angegeben. In diesem Beispiel ist es
grep
. - Das Gleichheitszeichen verbindet die Name von alias zu Karosserie alias. Für alle Aliase, außer den ganz einfachen, der Body des Alias ist 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 die grep
Befehl mit dem --color=auto
Möglichkeit.
Alias-Alarm
Als kurze Randnotiz, und damit du weißt was es tut, das alert
Alias wird verwendet, um Sie zu benachrichtigen, wenn ein Befehl abgeschlossen ist. Es zeigt auch an, ob der Befehl erfolgreich abgeschlossen wurde oder nicht. Bietet eine grafische Systemwarnung am oberen Bildschirmrand.
Hier ist ein einfaches Beispiel. das sleep
Der Befehl schläft fünf Sekunden lang. alert
dann heißt es alias. Der Alias verifiziert die Lösung des obigen Befehls. Extrahieren Sie den letzten Befehl aus der Archivdatei. Bestimmt, ob der Befehl erfolgreich abgeschlossen wurde oder nicht. Präsentieren Sie dann die Ergebnisse in einem Systemalarm.
Wenn der Befehl wie erwartet ausgeführt wurde, das Systemwarnungssymbol ist ein kleines Terminalfenster. Wenn der Befehl einen Fehlercode zurückgegeben hat, das Systemwarnungssymbol ist ein rotes Fehlersymbol.
Schlaf 5; Alarm
Nach fünf Sekunden, Wir sehen diese Systemwarnung:
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:
DoomedToFail; Alarm
Unsere Systemwarnung hat jetzt ein Fehlersymbol.
Definition eines trivialen Alias
Wie wir gesehen haben, einen Alias setzen, wir nehmen das alias
Befehl.
Lass uns ein Pseudonym für ihn erstellen clear
Befehl. Unser Alias wird aufgerufen cls
und werde anrufen clear
Befehl.
Unsere Definition von Aliasen ist so trivial, dass sie es nicht rechtfertigt, in einfachen Anführungszeichen zu stehen. Wenn der Hauptteil des Alias komplexer ist als dieser, oder wenn es Leerzeichen enthält, Schließen Sie es in einfache Anführungszeichen ein. Wir definieren den Alias, verwenden ls
, um eine Ausgabe in das Terminalfenster zu setzen und dann unseren neuen Alias zu verwenden cls
Gehen Sie folgendermaßen vor, um den Bildschirm zu reinigen.
Alias cls=clear
ls -l
Cls
Der Bildschirm wird gelöscht. Erfolg, auch bei kurzer Dauer. Der Alias bleibt nur so lange erhalten, wie dieses Terminalfenster geöffnet bleibt. Sobald das Fenster geschlossen ist, Der Alias verschwindet.
Dann, Wie machen wir unsere Aliase dauerhaft??
Die .bashrc-Datei und Aliase
Sie fragen sich vielleicht, wo vorgefertigte Aliase definiert sind. befindet sich im Archiv “.bashrc” in Ihrem Benutzerordner. Diese Datei wird gelesen, und die darin enthaltenen Befehle werden jedes Mal ausgeführt, wenn Sie eine interaktive Shell starten. Mit anderen Worten, Wenn Sie ein Terminalfenster öffnen.
Geben Sie den folgenden Befehl in Ihren Benutzerordner ein, um den Inhalt der Datei anzuzeigen “.bashrc” mit hervorgehobener Syntax.
gedit .bashrc
Dadurch wird die gedit
Editor mit der Datei “.bashrc” hineingeladen.
Hervorgehobene Bereiche zeigen zwei Bereiche, in denen Aliase definiert sind.
Wenn Sie durch das Dokument blättern, Zwei weitere Abschnitte, die mit Aliasnamen verknüpft sind, werden enthüllt:
Die erste davon ist die Definition von alert
alias. Die zweite ist eine if
Stellungnahme. Es bedeutet übersetzt als, “ob die Datei” .bash_aliases “existiert, Lesen”.
Wenn Sie nur wenige Aliase haben, die Sie festlegen möchten, Sie können sie in Ihrer ".bashrc"-Datei ablegen. Platzieren Sie sie unter dem Abschnitt, der die ls
alias.
Wenn Sie viele Aliase erstellen, oder Sie mögen einfach die Idee, Ihre Aliase in Ihrer eigenen Datei kapseln zu lassen, Sie können sie in Ihrer Datei ".bash_aliases" definieren. Ein Vorteil, wenn Sie sie in Ihrer Datei erstellen “.bash_aliases” ist, dass Sie nicht versehentlich eine der Einstellungen in der Datei ändern können “.bashrc”. Ein weiterer Vorteil ist, dass ihre Aliase leicht in neue Systeme kopiert werden können, da sie vollständig von der Datei ".bashrc" getrennt sind..
Speichern von Aliasen in der .bash_aliases Datei
Die Datei “.bash_aliases” es wird nicht existieren, bis du es glaubst. Sie können die Datei mit diesem Befehl erstellen:
.bash_aliases berühren
Lassen Sie uns die Datei bearbeiten und einige Aliase hinzufügen. Mit diesem Befehl wird die Datei geöffnet. “.bash_aliases” bei gedit
Editor.
gedit .bash_aliases
Wir haben drei Aliase hinzugefügt. Die erste ist unsere cls
Aliase, die wir zuvor verwendet haben. Der nächste heißt h.
und ist eine Abkürzung zum Aufrufen history
Befehl.
Der dritte Alias heißt ftc
. Das heisst “Anzahl der Dateitypen”.
Dieser Alias ist komplexer, es wird also in einfache Anführungszeichen eingeschlossen. Verwendet eine Kette von Befehlen, die durch Pipes miteinander verbunden sind. Erzeugt eine geordnete Liste verschiedener Dateierweiterungen und Verzeichnisnamen, mit einer Zählung für jeden Listeneintrag.
VERBUNDEN: Wie man Pipes unter Linux verwendet
Wenn wir die Datei gespeichert haben “.bash_aliases”, Wir könnten erwarten, dass unsere Aliase aktiv und erreichbar sind. Das ist nicht der Fall. Die Bash-Shell muss die Datei lesen, bevor Alias-Definitionen aktiv sind. Dies geschieht immer dann, wenn eine interaktive Shell geöffnet wird.
Zusätzlich können wir die integrierte Bash-Shell nutzen. .
zum Befehle lesen und ausführen in einer Datei. Denn unsere Datei “.bash_alias” gelesen, wenn verarbeitet “.bashrc”, Wir sollten unseren Test durch Aufrufen durchführen “.bashrc”. Auf diese Weise können wir überprüfen, ob die Datei ".bash_alias" von ".bashrc" aufgerufen wird und ob unsere Aliase am Leben und in gutem Zustand sind..
Die Befehle, die wir verwenden, sind:
gedit .bash_alias
So bearbeiten Sie die Datei “.bash_alias”.
. .bashrc
Dadurch werden die Befehle innerhalb von “.bashrc”, wer ruft an “.bash_alias”.
Ftc
Dadurch wird die ftc
alias.
Unser Alias antwortet, was bedeutet, dass Bash so viel in “.bashrc” wie in “.bash_aliases”, und unsere neuen Aliase sind jetzt aktiv.
Sie können jetzt fortfahren und der Datei neue Aliase hinzufügen “.bash_aliases” wenn sie Ihnen in den Sinn kommen. Wenn Sie feststellen, dass Sie mehr als ein- oder zweimal Dinge tun, Erwägen Sie, einen Alias für diese.
Eindeutige Aliase
Es gibt einen Befehl für Aliase löschen damit BAsh sie nicht erkennt oder darauf reagiert. Erfrischend offen, Der Befehl heißt unalias
.
Um es zu benutzen, Geben Sie den Namen des Alias an, den Bash vergessen soll. Damit Bash unsere ftc
alias, verwenden unalias
so was:
Unalias FTC
Sie können verwenden unalias
Gehen Sie folgendermaßen vor, um die von Ihnen definierten Aliase und alle vordefinierten Aliase zu entfernen.
So entfernen Sie alle Aliase aus Ihrem System, Verwenden Sie die -a
(alles) Möglichkeit:
Unalias -a
Trotz dieses, Bash-Speicherverlust wird nicht dauerhaft sein. Wenn Sie das nächste Mal ein Terminalfenster öffnen, decknamen “Vergessen” Wille. Um sie wirklich zu entfernen, Sie müssen sie aus Ihren Dateien löschen “.bashrc” und “.bash_alias”.
Wenn Sie denken, dass Sie sie jemals zurückbekommen möchten, Löschen Sie sie nicht aus Ihrer ".bashrc"-Datei. Stattdessen, Kommentieren Sie sie, indem Sie einen Hash hinzufügen #
am Anfang jedes alias
Leitung. Damit Ihre ".bash_alias"-Datei nicht wirksam ist, Umbenennen. Wenn Ihre ".bashrc"-Datei sie nicht sehen kann, wird es nicht lesen. Das Rückgängigmachen dieser Schritte zum Zurücksetzen Ihrer Aliase ist eine triviale Angelegenheit..
Shell-Funktionen
Likas Aliase, Bash-Shell-Funktionen können innerhalb der Datei ".bashrc" festgelegt werden, Aber es ist oft am besten, sie in Ihre eigene Definitionsdatei zu legen. Wir werden es nennen “.bash_functions”, Befolgen der für die Datei verwendeten Konvention “.bash_aliases”.
Das bedeutet, dass wir die ".bashrc" -Datei anweisen sollten, unsere Definitionen zu lesen.. Wir können den Codeausschnitt, der in der Datei gelesen wird, kopieren und ändern. “.bash_aliases”. Start gedit
und laden Sie die Datei hoch “.bashrc” mit diesem Befehl:
gedit .bashrc
Sie müssen den unten gezeigten hervorgehobenen Abschnitt hinzufügen.
Sie können den Alias-Bereich markieren und auf Ctrl+C
Wechseln Sie dann zu der gewünschten Stelle des neuen Abschnitts, und drücken Sie Ctrl+V
Gehen Sie folgendermaßen vor, um eine Kopie des Texts einzufügen. Nach, Alles, was Sie tun müssen, ist, die beiden Stellen zu ändern, an denen es heißt “.bash_aliases” ein “.bash_functions”.
Wir können diese Änderungen speichern und schließen gedit
.
Lassen Sie uns nun die Datei ".bash_functions" erstellen und bearbeiten und eine Funktionsdefinition einfügen.
.bash_functions berühren
gedit .bash_functions
Dadurch wird die Datei geöffnet “.bash_functions” leer in gedit
.
Fügen wir eine einfache Funktion namens up
. up
verwendet einen einzelnen Befehlszeilenparameter, das ist eine Ziffer. up
dann rufe ich an cd ..
diese Anzahl von Malen. Dann, Wenn Sie den Befehl
oben 2
up
Rufen cd ..
zweimal und es würde im Verzeichnisbaum um zwei Ebenen nach oben gehen.
Es gibt verschiedene Alternativen um eine Funktion einzustellen. Hier ist eins:
Funktion nach oben() {
Das Wort function
es ist optional. Wenn Sie ein Traditionalist sind, benutze es, wenn du dir nicht die Mühe machst es zu schreiben, Lass es aus.
Hier ist unsere gesamte Funktion in gedit
:
Funktion nach oben() {
Dies markiert den Beginn unserer Funktionsdefinition, und benenne die Funktion up
.
Stufen=$1
Dies erzeugt eine Variable namens levels
und setze ihn auf den Wert des ersten Parameters. Dieser Parameter ist eine Ziffer, die der Benutzer beim Aufrufen der Funktion bereitstellt. das $1
es bedeutet “Erster Befehlszeilenparameter”.
während [ "$Ebenen" -gt "0" ]; tun
Dann gehen wir in eine Schleife. Dies bedeutet übersetzt “während der Wert von levels
ist größer als null, Tun Sie, was im Schleifenkörper enthalten ist “.
Im Körper der Schleife, wir haben zwei befehle. Sohn:
CD ..
Gehen Sie im Verzeichnisbaum eine Ebene nach oben.
Ebenen=$(($Ebenen - 1))
Anziehen levels
auf einen neuen Wert, das ist eins weniger als sein aktueller Wert.
Dann gehen wir zurück zum Anfang des Zyklus, der Vergleich zwischen dem Wert von levels
und wird zu Null. Und levels
ist größer als null, Der Schleifentext wird erneut ausgeführt. Wenn nicht größer als Null, Die Schleife endet und wir gehen zu done
Stellungnahme, und die Funktion ist vorbei.
Speichern Sie diese Änderungen, und schließen Sie gedit
.
Wir werden die Befehle lesen und ausführen in “.bashrc” die die Befehle in unserer Datei lesen und ausführen sollten “.bash_functions”.
. .bashrc
Wir können die Funktion testen, indem wir an eine Stelle im Verzeichnisbaum wechseln und up
So kehren Sie zu einem Punkt zurück “Vorgesetzter” im Verzeichnisbaum.
cd ./work/backup/
oben 2
Die Funktion funktioniert. Wir haben im Baum zwei Verzeichnisebenen nach oben verschoben.
Behalte den Überblick bei dem Kerl
Wenn Sie eine Reihe von Aliasnamen und eine Funktionsbibliothek erstellen, Es kann schwierig sein, sich zu merken, ob ein bestimmter Befehl ein Alias oder eine Funktion ist. Du kannst den ... benutzen type
Befehl um dich zu erinnern. Das Gute hier ist, dass Sie auch die Definition sehen können.
Lass uns benutzen type
in unserer ftc
alias und unser up
Funktion.
Typ ftc
tippe ein
Wir erhalten eine sehr nützliche Erinnerung daran, welche Art von Befehl jeder ist, zusammen mit ihren Definitionen.
Fang an zu sammeln
Aliase und Funktionen können die Verwendung der Befehlszeile erheblich beschleunigen. Sie können Skripte verkürzen und ermöglichen es Ihnen, die Alternativen, die Sie immer mit Standardbefehlen verwenden, zu integrieren.
Wann immer Sie eine raffinierte oder nützliche Funktion sehen, Sie können es anpassen und anpassen, und fügen Sie es dann Ihren ".bash_aliases"- oder ".bash_functions"-Dateien hinzu.
setTimeout(Funktion(){
!Funktion(F,B,e,v,n,T,S)
{wenn(f.fbq)Rückkehr;n=f.fbq=Funktion(){n.callMethode?
n.callMethod.apply(n,Argumente):n.queue.push(Argumente)};
wenn(!f._fbq)f._fbq = n;n.drücken=n;n.geladen=!0;n.version=’2.0′;
n.Warteschlange=[];t=b.Element erstellen(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, dokumentieren,'Skript',
„https://connect.facebook.net/en_US/fbevents.js’);
fbq('drin', ‘335401813750447’);
fbq('Spur', 'Seitenansicht');
},3000);