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
select
Befehl. - 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.