Die Bash -CLI leichter zu bedienen

Die Bash -CLI leichter zu bedienen
In diesem Tutorial wird angezeigt, wie Sie die Bash -Shell anpassen, um die Befehlszeile zu vereinfachen und schneller zu verwenden.

Ziele

Am Ende dieser Säsion können Sie in der Lage sein:

  • Ändern Sie die Eingabeaufforderung, das aktuelle Arbeitsverzeichnis anzuzeigen
  • Stellen Sie die Eingabeaufforderung auf eine ausgewählte Farbe ein
  • Aliase erstellen und verwenden
  • Speichern Sie Anpassungen wie Eingabeaufforderung und Aliase
  • Verwenden Sie die Historiefunktion
  • Verwenden Sie den Befehlsabschluss

Heimverzeichnis - Zuhause

Linux verwendet eine Reihe von Umgebungsvariablen der oberen Fall, eher wie Pidgin -Löcher, die automatisch besiedelt sind, um Informationen zu speichern. Die vollständige Liste kann wie folgt angezeigt werden:

$ set | mehr

Ich habe hier eher mehr als weniger in die Leinwand aufgenommen.

Der Name des Heimverzeichnisses eines Benutzers, normalerweise/zu Hause/Benutzername (/Home/KDM in meinem CAE), wird in der Umwelt variablen Zuhause gespeichert. Beachten Sie, dass die meisten Umgebungsvariablen im oberen Fall sind.

Wir verwenden ein $, wenn wir auf eine Umgebungsvariable verweisen, um festzustellen, dass es a ist

Variabler Name und keine Zeichenfolge. Um das Variable -Haus anzuzeigen, geben Sie ein:

$ echo $ home

Linux ist voller Abkürzungen und die Charakter -Tilde, ~, ist eine Abkürzung zu Hause. Es kann stattdessen verwendet werden:

$ echo ~

Arbeitsverzeichnis - PWD

Der Befehl PWD kann verwendet werden, um herauszufinden, welches aktuelle Arbeitsverzeichnis ist. Wenn sich ein Benutzer anmeldet, ist dies sein Heimverzeichnis, wie in der definiert /etc/passwd Datei. Hier zeigen wir nur die letzten beiden Zeilen der Datei und den aktuellen Pfad für den Benutzer KDM an:

$ schwanz -2 /etc /passwd
$ pwd

Verzeichnisse ändern - CD

Die Befehls -CD kann verwendet werden, um das aktuelle Arbeitsverzeichnis zu ändern.

Zum Beispiel, um zum Stammverzeichnis zu wechseln:

$ CD /; PWD
# Die ; Das Zeichen ermöglicht zwei Befehle in einer Zeile

Um zum Verzeichnis /etc zu ziehen:

$ cd /etc; pwd

Um zum vorherigen Verzeichnis zurückzukehren, verwenden Sie den Befehl:

$ cd -

Um zum Heimverzeichnis zurückzukehren, verwenden Sie die Befehls -CD ohne Optionen:

$ cd; pwd

Eingabeaufforderung - PS1

Bei Verwendung des CD -Befehls zum Ändern von Verzeichnissen ist es nicht immer offensichtlich, wie das aktuelle Verzeichnis ist. Die Bash -Shell ermöglicht die Anpassung der Eingabeaufforderung.

Die Standardeingabeaufforderung wird in einer Systemvariablen, PS1, gespeichert. Dies ist in eingetragen Oberer, höher Fall. Um die Variable einzugeben:

$ echo $ PS1

Notiere dass der "$" angezeigt ist nicht die Eingabeaufforderung, sondern die Inhalt der Variablen!

Die folgenden Sonderzeichen können verwendet werden, um die Eingabeaufforderung zu ändern:

  • \ s- \ v aktuelle Shell und Version
  • \ W aktuelles Arbeitsverzeichnis
  • \ h@\ u Host und Benutzername
  • \ d@\ t aktuelles Datum und Uhrzeit

Zum Beispiel, um die Eingabeaufforderung auf die aktuelle Shell und Version zu setzen: Verwendung:

$ PS1 = '\ S- \ V:'

Die Eingabeaufforderung erscheint jetzt als Bash-5.0: .

Aktuelles Verzeichnis - $ PWD

Um die ständige Verwendung des PWD -Befehls zu speichern, kann die Eingabeaufforderung auf den vollständigen Pfadnamen des aktuellen Verzeichnisses festgelegt werden, einem Konzept, das den DOS -Benutzern bekannt ist. Geben Sie dazu vorsichtig Folgendes ein Oberer, höher Fall:

Bash-5,0: PS1 = '$ PWD:'

Die Eingabeaufforderung ändert sich in diesem Beispiel um das aktuelle Arbeitsverzeichnis

/home/kdm: .

Ändern Sie nun die Verzeichnisse und beachten Sie, wie sich die Eingabeaufforderung ändert.

/home /kdm: cd /
/: CD /etc
/etc: CD

Wir können nun sehen, in welchem ​​Verzeichnis wir uns befinden.

Farbe hinzufügen

Eine Farbe kann in diesem Beispiel gelb wie folgt hinzugefügt werden:

/home/kdm: ps1 = '\ [\ e [01; 33m \] $ pwd: \ [\ 033 [01; 34m \] \ [\ 033 [00m \]'


Normalerweise habe ich meine Eingabeaufforderung auf das aktuelle Verzeichnis eingestellt und reserviere die Farbe rot (Alter 33 bis 31 im obigen Befehl), wenn ich root verwende. Für die folgenden Beispiele werde ich jedoch zum '$' -Zeichen zurückkehren.

Sekundäre Eingabeaufforderung ->

Die sekundäre Eingabeaufforderung wird auch in einer Systemvariablen, PS2, ebenfalls im oberen Fall gespeichert. Um diese Variable anzuzeigen, geben Sie ein:

$ echo $ ps2

Diese Eingabeaufforderung wird angezeigt, wenn beispielsweise ein unvollständiger Befehl eingegeben wird:

$ echo “Hallo da

In diesem Beispiel fehlt das zweite Zitatsymbol. Um diese Situation zu korrigieren, den Befehl zu vervollständigen oder Control & C einzugeben und den Befehl erneut einzugeben.

Dateien oder Verzeichnisse?

Wenn der Inhalt eines Verzeichnisses angezeigt wird, ist es nicht immer offensichtlich, wenn die Einträge Dateien oder Verzeichnisse sind.

Mit der Option -f, die häufig auf Unix -Servern verwendet wird, folgen die angezeigten Einträge von einem zusätzlichen Charakter. Versuchen Sie zum Beispiel:

$ ls -f

Diese zusätzlichen Zeichen enthalten Folgendes und bezeichnen:

  • Verzeichnis /
  • verknüpfte Datei @
  • ausführbare Datei *

Linux -Systeme unterstützen die Farbcodierung von Verzeichnissen und Dateien. Farben können standardmäßig eingeschaltet sein. Wenn nicht, versuchen Sie Folgendes (verwenden Sie einen doppelten Bindestrich):

$ ls --farbe

Diese zusätzlichen Farben umfassen die folgenden und bezeichnen:

  • Verzeichnis blau
  • verknüpfte Datei Cyan
  • ausführbare Datei grün

Aliase erstellen

Auf einigen System nützlichen Befehlen wie LA, die den Befehl LS -A und LL ausführen, der die Befehl Ls -l ausführt, sind verfügbar. Wenn diese Befehle jedoch nicht verfügbar sind, kann ein Alias ​​erstellt werden, um das gleiche Ergebnis zu erzielen. Einige Aliase können automatisch definiert werden, wenn eine Shell gestartet wird.

Für jeden häufig verwendeten Befehl kann ein Alias ​​erstellt werden. Dies speichert, um den vollständigen Befehl und seine Optionen einzugeben. Zum Beispiel, wenn Farben nicht mit LS verwendet werden:

$ alias ls = 'ls - -color'
$ ls

Diese beiden Beispiele zeigen Dateien in den Verzeichnissen /etc und /bin angezeigt. Die Option -D zeigt nur Verzeichniseinträge, nicht die Dateien im Verzeichnis:

$ ls -d /bin /y*
$ ls -d /etc /u**

Gemeinsame Aliase

Comman -Aliase enthalten Folgendes in die Befehle entfernen, kopieren und verschieben. Diese Aliase machen den Befehl interaktiv, sodass Sie eine Aktion ergreifen können oder nicht:

$ alias rm = 'rm -i' '
$ alias cp = 'cp -i' '
$ alias mv = 'mv -i' '

In dem hier gezeigten Beispiel werden vier leere Dateien erstellt. Die erste Datei1 wird dann entfernt. Anschließend wird ein Alias ​​für RM erstellt und Datei2 wird interaktiv entfernt:

Der tatsächliche Befehlsname muss nicht unbedingt für den Alias ​​-Namen verwendet werden. Beachten Sie, dass diese Beispiele den Alias ​​zu LS verwenden, das oben erstellt wurde:

$ alias la = 'ls -a' '
$ alias ll = 'ls -l'
$ la
$ ll

Aliase verwenden

Verwenden Sie den Alias ​​-Befehl, um eine Liste von Aliase anzuzeigen. Es ist sehr wahrscheinlich, dass Sie standardmäßig bereits mehrere Aliase haben:

$ alias

Ein Befehl kann ohne Verwendung des Alias ​​aufgerufen werden, indem der Befehl mit einem Backslash \ vorangestellt wird, \ . Dies ist besonders nützlich, wenn ein Alias ​​zu RM -i existiert und Sie viele Dateien entfernen möchten!

$ ls
$ \ ls

Um einen oder mehrere Befehls -Aliase zu entfernen: Verwendung:

$ unalias ll la
$ alias

Sparen von Anpassungen

Ein Nachteil beim Ändern der Eingabeaufforderung oder beim Hinzufügen von Aliase ist, dass diese Einstellungen verloren gehen, wenn der Benutzer die Sitzung beendet. Dieses Problem kann überwunden werden, indem die Einstellungen in einer Einrichtungsdatei gespeichert werden. Die Bash -Shell speichert Variablen und Aliase dauerhaft in einer von mehreren versteckten Dateien, Dateien, die mit einem vollständigen Stopp beginnen.

Hier werde ich den einfachen Editor -Nano verwenden (VIM kann stattdessen verwendet werden), um die versteckte Datei zu aktualisieren .bashrc um die Umgebung zu konfigurieren.

Ich habe meine Änderungen zum Ende der Datei hinzugefügt, die Eingabeaufforderung geändert und einige meiner Lieblings -Aliase hinzugefügt:

$ nano .bashrc

Um die Änderungen zu speichern und zu beenden, geben Sie die Steuerung & x ein.

Der DOT -Befehl - .

Das neue .Die BASHRC. Alternative kann die Datei so getestet werden:

$… Bashrc

Der Punkt (.) Der Befehl führt den Inhalt der Datei in der aktuellen Shell aus.

Befehlsgeschichte

Die Funktion des Befehlsverlaufs verwaltet eine Liste kürzlich verwendeter Befehle in der Datei .Bash_history und liefert eine Abkürzung für die Wiedereinführung eines dieser Befehle.

Um die letzten 10 Befehle anzuzeigen, geben Sie ein:

$ History 10

Um den letzten Befehlsanwendung erneut auszunehmen !!. Zum Beispiel:

$ Kopf -3 /etc /Shadow
$ sudo !!

Befehlszeile bearbeiten

Steuerschlüsse, die zum Bearbeiten früherer Befehlszeileneinträge verwendet wurden, enthalten Folgendes:

  • Steuerung der Steuerung und R Reverse History Search
  • Kontrolle und ein Gehen Sie zum Start der Linie
  • Kontrolle & E bis zum Ende der Linie
  • Steuer- und G

In diesem Beispiel verwende ich Control & R (zweimal), um eine umgekehrte Suche nach dem Kopfbefehl durchzuführen. Wenn Sie die Eingabetaste drücken, wird dann der Befehl ausgeführt:

Befehlsabschluss

In der Bash -Shell kann die Registerkarte Schlüsselsequenz verwendet werden, um einen Dateinamen zu vervollständigen, der in einem Befehl verwendet wird.

Um dies zu versuchen, wechseln Sie zunächst in das Verzeichnis /die Bin:

$ CD /Bin

Geben Sie den folgenden Befehl aber ein nicht Drücken Sie noch: ENTER:

$ ls -l y

Jetzt drücken Sie die Tab Tasten zweimal. Eine Liste aller Dateien, die mit dem Zeichen beginnen.

Fügen Sie dem Befehl Zeichen hinzu, um einen eindeutigen Namen aufzurufen, drücken Sie aber noch nicht die Eingabetaste.

$ ls -l yp

Jetzt drücken Sie die Tab Taste. Der Befehl wählt automatisch die richtige Datei aus.