Antworten:
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):
history 5
Wenn Sie nur Befehle anzeigen möchten, die eine Zeichenfolge enthalten (z. B. mv
), können Sie dies tun:
history | grep mv
Sie können einen Befehl aufrufen, indem Sie !
gefolgt von der Eintragsnummer eingeben .
Nehmen wir an, ich habe eine Geschichte wie diese:
1 ls -la
2 mkdir foo
3 mv bar.txt foo
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 Sie sudo !!
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ält man
(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^
.
history
arbeite für mich auf Ubuntu 16. Danke und sollte der Akzeptierte sein!
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:
history | cut -c 8- | tail
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)
alias lastones="history | tail | sed -e 's/^ [0-9]\{1,5\} / /gi'"
fc
: askubuntu.com/a/839642/158442
Mö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