Wie kann ich die letzten 5 Zeilen im Bash-Verlauf entfernen? Wenn ich den Ubuntu-Server neu lade oder neu starte, sind sie überhaupt nicht da?
history -c entfernt es nur aus der aktuellen Sitzung, aber wenn ich mich erneut anmelde, werden die Befehle erneut angezeigt. Ich möchte die letzten 5 löschen.
Ich bin gelaufen:
history
Dann sehe ich die Nummern der Befehle, zB:
489 cd ..
490 cd .zshrc
491 cat .zshrc
Dann laufe ich zum Beispiel:
history -d 489
history -c
Dann schließe ich das Terminal und öffne es erneut. Ich sehe immer noch Zeile 489. Es wurde nur für diese aktuelle Sitzung gelöscht. Wie lösche ich es dauerhaft aus allen zukünftigen Sitzungen?
Bitte beraten.
14.04
command-line
bash
bash-history
Anthony Pinto
quelle
quelle
Antworten:
Es gibt verschiedene Möglichkeiten, um diese Aufgabe zu erfüllen. Lassen Sie uns jedoch etwas klarstellen, bevor Sie fortfahren.
Es gibt eine Datei mit dem Namen:,
~/.bash_history
die den Verlauf Ihrer älteren Terminalsitzungen enthält. Wenn Sie Ihr Terminal schließen, wird Ihr Verlauf dort gespeichert.Gleichzeitig ist der Verlauf Ihrer alten Sitzungen zusammen mit der aktuellen Sitzung vorübergehend über
history
Befehle zugänglich , bis Sie das Terminal schließen, das dann in einer~/.bash_history
Datei gespeichert wird.Wenn Sie also am Ende von 5 Zeilen entfernen
~/.bash_history
, führt das Schließen des Terminals dazu, dass Ihr aktueller Befehl bei den nächsten Sitzungen verfügbar ist.Also, wenn ich eine
wc
auf .bash_history mache:Meistens bekomme ich eine kleinere Anzahl als von
history | wc -l
.Wenn Sie die letzten 5 Zeilen der Datei entfernen möchten, können Sie diesen Befehl verwenden:
Und wenn Sie den gesamten Verlauf mit Ausnahme der letzten 5 Befehle behalten möchten, die im aktuellen Sitzungslauf ausgegeben wurden:
Vergiss nicht zu rennen
history -c
.quelle
Sie können das Entfernen aus der Verlaufsdatei über die Befehlszeile in zwei Schritten erreichen:
Durch
history -d <line_number>
Eingabe wird eine angegebene Zeile aus dem Verlauf im Speicher gelöscht. Durch Eingabe wirdhistory -w
der aktuelle In-Memory-Verlauf in die Datei ~ / .bash_history geschrieben. Die beiden Schritte zusammen entfernen die Zeile dauerhaft aus dem In-Memory-Verlauf und auch aus der Datei .bash_history.Ref: StackExchange
quelle
man
und Name der Befehlsanleitung, die Sie anzeigen möchten. In diesem Fall :man history
.kill -s 9 $$
wenn Sie fertig sind.Ich denke, Sie müssen dies versuchen, es ist sehr einfach und unkompliziert.
So löschen Sie den Verlauf spurlos
Wenn Sie einen Befehl ausführen möchten, ohne eine Spur zu hinterlassen.
quelle
Öffnen Sie
~/.bash_history
in Ihrem Editor und entfernen Sie die letzten 5 Zeilen.quelle
1. Schreiben Sie den aktuellen Verlauf in die Verlaufsdatei und überschreiben Sie den Inhalt der Verlaufsdatei
Geschichte -w
2. Bearbeiten Sie den Verlauf nach Ihren Wünschen
vi ~ / .bash_history
3. Lesen Sie den Inhalt der Verlaufsdatei und verwenden Sie ihn als aktuellen Verlauf.
Geschichte -r
quelle