Gibt es eine Möglichkeit, alle meine eingegebenen Terminalbefehle zu speichern und sie wie einen Verlauf in einem Logbuch anzuzeigen?
75
Gibt es eine Möglichkeit, alle meine eingegebenen Terminalbefehle zu speichern und sie wie einen Verlauf in einem Logbuch anzuzeigen?
Dies erfolgt automatisch. Bash speichert Ihre Befehle in ~/.bash_history
. Wenn Sie sich den Verlauf ansehen möchten, drucken Sie die Ausgabe dieser Datei entweder mit einer der folgenden Methoden aus
cat ~/.bash_history
less ~/.bash_history
...any other pager or output command...
Oder Sie können bashs eingebauten Befehl verwenden:
history
Um den Verlauf zu löschen, löschen Sie die Datei und den temporären Verlauf:
rm ~/.bash_history && history -c
Die Verlaufsgröße beträgt standardmäßig 500 Befehle. Sie können dies jedoch erhöhen, indem Sie Ihrer ~/.bashrc
Datei eine Zeile hinzufügen , um die HISTSIZE
Variable festzulegen:
HISTSIZE=<number of entries, -1 for unlimited>
Dies wird nicht sofort wirksam, sondern nur für neu gestartete Sitzungen. Um dies anzuwenden, geben Sie die .bashrc
Datei erneut ein:
. ~/.bashrc
oder laufen Sie HISTSIZE=...
in Ihrer aktuellen Sitzung.
Sie können
history
auf einem Terminal eingeben, um alle zuvor ausgeführten Befehle anzuzeigen.Sie können die Ausgabe auf einige Zeilen kürzen (wobei 5 die Anzahl der Zeilen ist):
Wenn Sie nur Befehle anzeigen möchten, die eine Zeichenfolge enthalten (z. B.
mv
), können Sie dies tun:Sie können einen Befehl aufrufen, indem Sie
!
gefolgt von der Eintragsnummer eingeben .Nehmen wir an, ich habe eine Geschichte wie diese:
mkdir foo
können Sie Folgendes eingeben!2
.!-1
oder verwenden!!
!-2
Wenn Sie einen Befehl ausführen, der fehlschlägt, weil er Root-Berechtigungen benötigt (z. B.
touch /etc/foo
), können Siesudo !!
den letzten Befehl als Root ausführen.!man
Sie den letzten Befehl aus, der mit beginntman
!?man?
wird der letzte Befehl ausgeführt, der enthältman
(nicht unbedingt am Zeilenanfang)Wenn Sie einen Tippfehler in einem Befehl haben, können Sie diesen auf diese Weise beheben. Angenommen, ich tippe
cat .bash_hi
, um.bash_hi
durch zu ersetzen, muss.bash_history
ich nur tippen^hi^history^
.Quelle: https://www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps
quelle
history
arbeite für mich auf Ubuntu 16. Danke und sollte der Akzeptierte sein!Tipp einfach :
Eine neue Datei mit dem Namen print.txt wird in Ihrem aktuellen Arbeitsverzeichnis erstellt.
quelle
Ich möchte oft auch nur die letzten Befehle. Zu meinen Entwicklungsnotizen oder Stack-Exchange-Sites wie diesen zu posten ... Dies hat sich als sehr nützlich erwiesen und irrelevante Zeilennummern entfernt:
oder, wenn Sie es als Alias mögen, Zeilennummern werden entfernt und sofort eingerückt (genau wie für die Code-Anführungszeichen-Markierung benötigt)
quelle
fc
: askubuntu.com/a/839642/158442Möglicherweise möchten Sie https://github.com/dvorka/hstr ausprobieren, um das Durchsuchen , Navigieren und Filtern Ihres Bash-Verlaufs im Stil eines Postfachs zu vereinfachen:
Es kann leicht sein gebunden an Ctrl-rund / oderCtrl-s
quelle