Einführung
Unter Linux erfolgt ein Großteil Ihrer Arbeit über eine Eingabeaufforderung, die auch als Shell bezeichnet wird , oder BASH (Bourne-Again-Shell). Die Shell interpretiert Ihre Befehle und leitet sie zur Ausführung an das Betriebssystem weiter.
Dieses Tutorial zeigt Ihnen, wie Sie Ihre Linux-BASH-Eingabeaufforderung anpassen oder ändern .
Voraussetzungen
- Ein System, auf dem Linux ausgeführt wird
- Zugriff auf eine Befehlszeile/ein Terminal
- Ein Benutzerkonto mit sudo oder root Privilegien
Standard-BASH-Eingabeaufforderung
Die standardmäßige BASH-Eingabeaufforderung ist die, die Sie sehen, wenn Sie zum ersten Mal ein Terminal oder eine Befehlszeile öffnen. Normalerweise sieht es so aus:
[email protected]:~$ Alternativ kann es auch so aussehen:
(base) [[email protected] ~]$ Der erste Teil der Eingabeaufforderung teilt Ihnen mit, welcher Benutzer derzeit angemeldet ist. Der zweite Teil identifiziert den Hostnamen des Systems.
Das Tildezeichen ~ gibt an, dass das aktuelle Arbeitsverzeichnis das Home-Verzeichnis des aktuellen Benutzers ist.
Das Dollarzeichen $ bedeutet, dass der aktuelle Benutzer ein Standardbenutzer ist.
Ein Root-Benutzer wird mit einem Hash-Zeichen # identifiziert .
Bash-Eingabeaufforderung unter Linux anpassen
Wie die meisten Linux-Anwendungen liest BASH eine Konfigurationsdatei, um ihr Verhalten zu bestimmen. Diese Datei befindet sich im Home-Verzeichnis:
~/.bashrc Bevor Sie Änderungen vornehmen, erstellen Sie eine Sicherungskopie Ihrer Konfigurationsdatei. Öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:
cp ~/.bashrc ~/.bashrc.bak Bash-Eingabeaufforderung in Linux dauerhaft ändern
Öffnen Sie die BASH-Konfigurationsdatei zum Bearbeiten:
sudo nano ~/.bashrc
In dieser Datei sollten Sie mehrere verschiedene Einstellungen sehen. Einige von ihnen sind beschreibende Zeilen in Blau, unkommentiert mit einem # Schild. Einige sind weiß, was anzeigt, dass sie aktiviert sind.
Scrollen Sie zum Ende der Konfigurationsdatei. Fügen Sie die folgende Zeile hinzu:
PS1="MyTestPrompt> "
Sie können MyTestPrompt> ersetzen mit einer beliebigen Textfolge.
Speichern Sie die Datei (ctrl-o > Eingabe ) und beenden (ctrl-x ).
Aktualisieren Sie den BASH-Dienst, um Ihre Änderungen zu übernehmen. Geben Sie Folgendes ein:
source ~/.bashrc Ihre Eingabeaufforderung sollte sich wie folgt ändern:
MyTestPrompt>
Erstellen Sie eine temporäre Änderung an der BASH-Eingabeaufforderung
Sie können die BASH-Eingabeaufforderung vorübergehend ändern, indem Sie export verwenden Befehl. Dieser Befehl ändert die Eingabeaufforderung, bis sich der Benutzer abmeldet.
Stellen Sie die BASH-Eingabeaufforderung so ein, dass nur der Benutzername angezeigt wird, indem Sie Folgendes eingeben:
export PS1="\u >" Die Eingabeaufforderung sollte sich sofort wie folgt ändern:
username >
Sie können die Eingabeaufforderung zurücksetzen, indem Sie sich abmelden und dann wieder anmelden.
Beliebte benutzerdefinierte Optionen für BASH-Eingabeaufforderungen
Sie können diese Optionen bei beiden Methoden verwenden – vorübergehend mit dem export Befehl oder dauerhaft durch Bearbeiten der Datei ~/.bashrc Datei.
Benutzername und Domänenname anzeigen
Verwenden Sie –H Option zur Anzeige eines vollständigen Hostnamens:
export PS1="\u\H " Sie sollten den Hostnamen in der Eingabeaufforderung sehen.
Sonderzeichen hinzufügen
Sie können der Eingabeaufforderung Sonderzeichen hinzufügen, indem Sie sie um die Sonderoptionen herum platzieren:
export PS1="\[email protected]\H :" Dies sollte Folgendes anzeigen:
[email protected]: Benutzername plus Shell-Name und -Version anzeigen
Geben Sie Folgendes ein, um Benutzername, Shell-Name und Version anzuzeigen:
export PS1="\u >\s\v " Die Eingabeaufforderung sollte sich wie folgt ändern:
username >bash4.4
Datum und Uhrzeit zur BASH-Eingabeaufforderung hinzufügen
Verwenden Sie die folgenden Optionen, um verschiedene Formate für Datum und Uhrzeit anzuzeigen:
d– Zeigt das heutige Datum in [Wochentag]/[Monat]/[Tag]
an
export PS1="\[email protected]\H>\d " t– Zeigt die aktuelle Uhrzeit im 24-Stunden-Format
an
export PS1="\[email protected]\H>\t " T– Zeigt die aktuelle Uhrzeit im 12-Stunden-Format an
export PS1="\[email protected]\H>\T " A– Zeigt die aktuelle Uhrzeit im 24-Stunden-Format mit nur Stunden und Minuten
an
export PS1="\[email protected]\H>\A " Alle Informationen in der BASH-Eingabeaufforderung ausblenden
Verwenden Sie dies, um zu verhindern, dass Benutzernamen oder Hostnamen an der Eingabeaufforderung angezeigt werden:
export PS1="\W > " Sie sollten Folgendes sehen:
~ > Root-Benutzer von normalem Benutzer unterscheiden
Die normale BASH-Eingabeaufforderung zeigt ein $ an Zeichen für einen normalen Benutzer. Wenn Sie sich als Root-Benutzer anmelden, wird ein # Zeichen angezeigt wird. Verwenden Sie $ Code, der anzeigt, dass der aktuelle Benutzer kein Root-Benutzer ist:
export PS1="\[email protected]\H \W:\$ " Mehr BASH-Eingabeaufforderungsoptionen
Hier ist eine Liste der meisten Optionen, die Sie für die BASH-Eingabeaufforderung verwenden können.
Einige dieser Befehle funktionieren möglicherweise nicht auf allen Linux-Versionen.
\a– Ein Glockenzeichen- \
d– Datum (Tag/Monat/Datum) \D{format}– Rufen Sie hiermit das System auf, mit der aktuellen Uhrzeit zu antworten\e– Escape-Zeichen\h– Hostname (kurz)\H– Vollständiger Hostname (Domänenname)\j– Anzahl der von der Shell verwalteten Jobs\l– Der Basisname des Shell-Terminalgeräts\n– Neue Zeile\r– Wagenrücklauf\s– Der Name der Shell\t– Zeit (Stunde:Minute:Sekunde)\@– Zeit, 12-Stunden AM/PM\A– Zeit, 24 Stunden, ohne Sekunden\u– Aktueller Benutzername\v– BASH-Version\V– Zusätzliche Informationen zur BASH-Version\w– Aktuelles Arbeitsverzeichnis ($HOME wird durch ~ dargestellt)\W– Der Basisname des Arbeitsverzeichnisses ($HOME wird durch ~ dargestellt)\!– Listet die Nummer dieses Befehls im Verlauf auf\#– Die Befehlsnummer dieses Befehls- \
$– Gibt an, ob der Benutzer root (#) oder nicht ($) ist - \\ – Backslash
\[– Starten Sie eine Folge von nicht angezeigten Zeichen (nützlich, wenn Sie der Eingabeaufforderung einen Befehls- oder Anweisungssatz hinzufügen möchten)\]– Schließt oder beendet eine Folge von nicht angezeigten Zeichen
So ändern Sie die Farbe der BASH-Eingabeaufforderung
Sie können die Textfarbe Ihrer BASH-Eingabeaufforderung ändern. Um beispielsweise den Text Ihrer BASH-Eingabeaufforderung vorübergehend in Grün zu ändern, geben Sie Folgendes ein:
export PS1="\e[0;32m[\[email protected]\h \W]\$ \e[0m"
Ihre Eingabeaufforderung sollte den gleichen Text wie normal haben, aber grün gefärbt sein.
Hier ist eine Aufschlüsselung der Befehle:
• \e[ – Farbwechsel beginnen
• 0;32m – Geben Sie den Farbcode an
• [\[email protected]\h \W]\$ – Dies ist der Code für Ihre normale BASH-Eingabeaufforderung ([email protected] Workingdirectory $ )
• \e[0m – Farbwechselmodus verlassen
Die erste Zahl im Farbcode gibt die Schriftart an:
• 0 - Normal
• 1 – Fett (hell)
• 2 – Abm
• 4 – Unterstrichen
Die zweite Zahl gibt die gewünschte Farbe an:
• 30 - Schwarz
• 31 - Rot
• 32 - Grün
• 33 - Braun
• 34 - Blau
• 35 - Lila
• 36 – Cyan
• 37 – Hellgrau
Wenn Sie die helle Option mit einem Farbcode kombinieren, erhalten Sie außerdem eine hellere Version dieser Farbe. Wenn Sie beispielsweise den Farbcode 1;32 verwenden , würden Sie statt des normalen Grüns hellgrün erhalten. Wenn Sie 1;33 verwenden , erhalten Sie Gelb statt Braun.
So setzen Sie BASH-Änderungen auf die Standardeinstellungen zurück
Es gibt zwei Möglichkeiten, die Änderungen zurückzusetzen. Für vorübergehende Änderungen (mit dem export PS1="" Befehl), können Sie die Standardeinstellung wiederherstellen, indem Sie sich abmelden.
Wenn Sie die Datei \.bashrc bearbeitet haben Um dauerhafte Änderungen vorzunehmen, gibt es zwei Methoden, um die Standardeinstellungen wiederherzustellen:
- Rendern Sie Ihre Änderungen als Kommentare, indem Sie die Datei bearbeiten und ein
#hinzufügen vor jeder Änderung, die Sie vorgenommen haben. - Stellen Sie die Standardeinstellungen aus Ihrer Sicherung wieder her, indem Sie Folgendes eingeben:
sudo cp ~/.bashrc.bak ~/.bashrc Verschiedene Teile der BASH-Eingabeaufforderung verstehen
Bevor Sie fortfahren, setzen Sie Ihre BASH-Eingabeaufforderung auf die Standardeinstellung zurück. Wenn Sie den export verwendet haben Befehl, melden Sie sich ab und wieder an. Wenn Sie Ihre Datei ~/.bashrc bearbeitet haben Datei, platzieren Sie ein # unterschreibe vor jeder vorgenommenen Bearbeitung und speichere die Datei.
Die BASH-Eingabeaufforderung enthält vier verschiedene Werte:PS1, PS2, PS3 und PS4 .
Das PS steht für Prompt Statement . Bisher haben wir mit dem PS1-Wert gearbeitet. Geben Sie Folgendes ein, um den aktuellen PS1-Wert anzuzeigen:
echo $PS1 Je nach System gibt das Terminal für die Standardeinstellungen etwa Folgendes zurück:
Sie erkennen vielleicht den \[email protected]\h Optionen als Benutzername und Host . Das w Option zeigt das aktuelle Arbeitsverzeichnis an.
Zeigen Sie jetzt den PS2-Wert an:
echo $PS2 Das System sollte nur eine spitze Klammer anzeigen:
> Das Wiederholen desselben Befehls für PS3 sollte leer sein.
Für PS4 sehen Sie ein + unterschreiben.
Hier sind die verschiedenen Bedeutungen für die verschiedenen Teile der BASH-Eingabeaufforderung:
- PS1 – Dies ist die primäre Eingabeaufforderungsanzeige. Hier stellen Sie Sonderzeichen oder wichtige Informationen ein.
- PS2 – Dies ist die sekundäre Eingabeaufforderungszeichenfolge. Dies wird normalerweise als Trennlinie zwischen der Eingabeaufforderungsanzeige und der Texteingabe festgelegt. Es wird auch verwendet, um anzuzeigen, wenn ein langer Befehl mit \ in Abschnitte unterteilt ist unterschreiben.
- PS3 – Dies ist die Aufforderung zum
selectBefehl. - PS4 – Dies ist die Eingabeaufforderung zum Ausführen eines Shell-Skripts im Debug-Modus.
In den meisten Fällen werden Sie nur mit der PS1 arbeiten Option und vielleicht die PS2 Option.