Vielleicht habe ich etwas übersehen, aber es gibt eine Möglichkeit, Ihren aktuellen Bash-Verlauf für die aktuelle Sitzung abzurufen, die Sie verwenden
Wenn ich renne
ssh host
$ pwd
$ ls
$ cd /tmp
Ich möchte nur diese 3 Befehle sehen und sonst nichts
bash
command-history
Mike
quelle
quelle
history
Befehl überprüft ?history
aber das gibt nicht nur meine SitzungHISTSIZE
undHISTFILESIZE
.Antworten:
Ein kleiner Umweg:
Dadurch wird der nicht gespeicherte Bash-Verlauf der aktuellen Sitzung in gespeichert
~/current_history
, den Sie dann anzeigen können.quelle
~/$$_history
.history -a
und zusammen mit der vorherigen Historie in ~ / .bash_history zu werfen. Dies könnte ein Problem sein, wenn Ihre Historie länger ist als der Cutoff, der 1000 auf meinen Centos7- und Fedora 24-Systemen beträgt.Ich hatte das Problem, dass ich den aktuellen
history
in eine Datei schreiben wollte, aber trotzdem wollte, dass die Einträge in der Haupt-Bash aufgezeichnet werdenhistory
Ich löste dieses Problem, indem ich die Datei einfach anhängte mit
cat
:quelle
Verwenden Sie
comp
diese Option , um den gesamten Verlauf (einschließlich der aktuellen Bash-Sitzung) mit dem bereits vorhandenen Verlauf in zu vergleichen.bash_history
und nur die Zeilen zu drucken, die für die aktuelle Sitzung eindeutig sind. In diesen Zeilen sollten nur die Befehle angezeigt werden, die seit dem Starten der aktuellen Bash-Shell ausgeführt wurdenEdit: wie @Wildcard hervorhob, funktioniert dieser Befehl nicht für alle Distributionen von
comm
. Ich habe dies unter Mac OS getestet.Eine Variation der gleichen Idee mit
diff
:quelle
comm
setzt sortierte Eingabe voraus. Willkommen bei Stack Exchange! :)comm
werden in meinem obigen Beispiel inhärent sortiert. Hast du es ausgeführt? Und es wurde nicht Ihr aktueller Bash-Sitzungsverlauf erstellt?~/.bash_history
wird nicht sortiert; und die Ausgabe von wird überhaupt nichthistory
sortiert, sobald führende Zeilennummern entfernt sind. (Außerdem werdencomm
lexikografisch sortierte Eingaben erwartet, nicht numerisch sortierte Eingaben.)comm
Befehl in meinem Beispiel in derselben Reihenfolge sind, nicht dass sie lexikografisch sortiert sind. Die FreeBSD-Version voncomm
erfordert keine lexikografisch sortierte Eingabe