Wo wird der Bash-Verlauf für den Root-Benutzer gespeichert?

25

Ich spreche nicht .bash_historyaus meinem Heimatverzeichnis. Normalerweise bevorzuge ich die Verwendung von sudo -ioder sudo suund dann die Ausführung von Befehlen als Rootbenutzer.

Da nach diesen Befehlen der Verlauf nicht in der .bash_historyDatei aus meinem Ausgangsverzeichnis gespeichert wird, möchte ich wissen, ob dieser Verlauf irgendwo gespeichert ist oder nicht und wenn ja, wo?

Devesh Khandelwal
quelle
Das weiß ich, aber ich wollte die Befehle in der Root-Shell kennen und habe meine Antwort gefunden.
Devesh Khandelwal
Das wusste ich aber trotzdem danke.
Devesh Khandelwal

Antworten:

32

Wenn Sie als root angemeldet sind, wird der Bash-Verlauf in einer /root/.bash_historyDatei gespeichert, in der /rootsich das Standard-Ausgangsverzeichnis für den root-Benutzer befindet. Um dies zu beweisen, führen Sie den folgenden Befehl aus, wenn Sie als root angemeldet sind:

echo $HISTFILE

Die $HISTFILEVariable zeigt auf die Datei, die Ihren Verlauf enthält.

Quelle: $HISTFILE

Wenn Sie sich bei einem anderen Benutzerkonto anmelden, wird der Bash-Verlauf in der Regel in einer Datei gespeichert, die .bash_historysich im Basisverzeichnis dieses Benutzers befindet.

Wenn Sie den Bash-Verlauf für den Root-Benutzer in einer anderen Datei speichern möchten, z. B. in .bash_historyDatei aus meinem Ausgangsverzeichnis, müssen Sie die /root/.bashrcDatei bearbeiten und am Ende der Datei eine neue Zeile mit folgendem Inhalt einfügen:

HISTFILE="/home/username/.bash_history"       #change username with your user name
Radu Rădeanu
quelle
1

Ich bin es gewohnt, die Shortcut-Liste über die Auf-Taste auf der Tastatur zu verwenden, die den zuletzt verwendeten Befehl für diesen Benutzer anzeigt. Wenn Sie sich als root anmelden, wird der Verlauf für den root-Benutzer angezeigt.

Testen Sie es so, geben Sie sudo -idas Passwort ein und drücken Sie dann die Auf-Taste auf der Tastatur. Jetzt scrollen Sie durch die zuletzt verwendeten Befehle in der Reihenfolge vom letzten zum ältesten.

Ich weiß, Radu Rădeanu antwortet, was Sie wollten. Damit ist aber auch das anstehende Problem gelöst. Meine Lösung ist eher eine praktische Möglichkeit, sich an einen alten Befehl zu erinnern, was Zeit und Arbeit spart.

Alvar
quelle
Ich kenne den Aufwärtsschlüssel und benutze ihn häufig. Was ich wollte, war die vollständige Verlaufsdatei und ich danke Ihnen für die Klärung.
Devesh Khandelwal
@ DeveshKhandelwal Es ist nicht die Lösung, die Sie wollten, aber jemand anderes könnte es nützlich finden. Radus Antwort ist gut, das ist nur eine andere. :)
Alvar
1

Wenn Sie historyin die Shell tippen, werden alle Befehle im Verlauf aufgelistet. Mit dem folgenden Befehl können Sie den Verlauf in einer anderen Datei speichern:

history > *textfile*
Devesh Khandelwal
quelle