Ich benutze Linux Mint 17.1 Rebecca für ungefähr 2 Tage und habe versehentlich mein Passwort in das Terminal eingegeben, das jetzt in der Verlaufsliste der zuvor eingegebenen Befehle angezeigt wird.
Ich möchte den Terminalverlauf vollständig löschen. Ich habe versucht, die folgenden Befehle im Terminal zu verwenden, von denen ich dachte, dass sie den Verlauf für immer löschen würden, aber sie tun es nicht:
history -c
reset
tput reset
Die obigen Befehle "löschen" den Verlauf aus dem Terminal, aber wenn ich einen neuen beende und eröffne, ist mein gesamter vorheriger Verlauf immer noch da und kann mit dem Befehl - history und auch durch Drücken des Aufwärtspfeils auf meiner Tastatur wieder aufgelistet werden . Ich möchte nicht, dass dies passiert, bis ich meine Historie vollständig gelöscht habe, dann möchte ich sie weiter verwenden.
Wie kann ich meine Terminal-Historie vollständig löschen - für immer und von vorne anfangen?
Bitte beachten Sie: Ich möchte das Terminal nicht verlassen, ohne den Verlauf zu speichern, sondern nur für immer löschen.
quelle
sed -i "s/$your_pass//g" ~/.bash_history
...Antworten:
reset
oder machttput reset
nur dinge zum terminal. Der Verlauf wird vollständig von der Shell verwaltet, die davon nicht betroffen ist.history -c
Löscht Ihren Verlauf in der aktuellen Shell. Das ist genug (aber übertrieben), wenn Sie gerade Ihr Passwort eingegeben haben und diese Shell nicht verlassen oder ihren Verlauf explizit gespeichert haben.Wenn Sie bash beenden, wird der Verlauf in der Verlaufsdatei gespeichert, die sich standardmäßig
.bash_history
in Ihrem Ausgangsverzeichnis befindet . Genauer gesagt wird der Verlauf, der während der aktuellen Sitzung erstellt wurde, an die Datei angehängt. Einträge, die bereits vorhanden sind, bleiben davon unberührt. Führen Sie den folgenden Befehl aus, um die Verlaufsdatei mit dem Verlauf der aktuellen Shell zu überschreibenhistory -w
.Anstatt alle Ihre Verlaufseinträge zu entfernen, können Sie sie
.bash_history
in einem Editor öffnen und die Zeilen entfernen, die Sie nicht behalten möchten. Sie können dies auch in bash tun, indem Siehistory
alle Einträge anzeigen,history -d
die nicht gewünschten Einträge löschen und schließlichhistory -w
speichern.Beachten Sie, dass Ihr Kennwort möglicherweise auch nach dem Bearbeiten der Verlaufsdatei noch irgendwo auf der Festplatte einer früheren Version der Datei vorhanden ist. Es kann nicht mehr über das Dateisystem abgerufen werden, aber es ist möglicherweise immer noch möglich (aber wahrscheinlich nicht einfach), es durch direkten Zugriff auf die Festplatte zu finden. Wenn Sie dieses Kennwort an einer anderen Stelle verwenden und Ihre Festplatte gestohlen wird (oder jemand Zugriff auf die Festplatte erhält), kann dies ein Problem sein.
quelle
history
den Inhalt des Verlaufsprotokoll und den Zeilennummern Sie löschen möchten , um zu überprüfen, sollte Sie die Zeilennummer 1000 in der Verlaufsprotokoll löschen, dannhistory -d 1000
Ich habe die Geschichte ausprobiert, aber die Geschichte kehrt zurück, sobald wir sie verlassen und wieder geöffnet haben. Das hat mir geholfen.
Dadurch werden der in der Verlaufsdatei gespeicherte Verlauf sowie der Verlauf in der aktuellen Sitzung gelöscht (sodass er beim
bash
Beenden nicht in einer Datei gespeichert wird ). Es verlässt dann die Shell. Die nächste Shell-Sitzung hat keine Historie.quelle
Anstatt alle Ihre Verlaufseinträge zu entfernen, geben Sie diese Befehle in Ihr Terminal ein:
history -c
(zum Löschen des Verlaufs)history -w
(Verlauf speichern)quelle
inc_append_history
oder dieshare_history
Option gesetzt ist.Da hier ein Sicherheitsproblem vorliegt, sollten Sie in Betracht ziehen, die Verlaufsdatei sicher zu löschen.
quelle
Als Neuling mit dem gleichen Problem habe ich auf das ziemlich brutale Mittel zurückgegriffen, die Verlaufsdatei zu löschen und neu zu erstellen:
Es hat bei mir funktioniert, ohne dass es zu unangenehmen Nebenwirkungen kam, die mir bewusst waren.
quelle
Art:
history -c; rm ~/.bash_history
history -c
löscht den Verlauf Ihrer aktuellen Sitzung,rm ~/.bash_history
löscht Ihren Langzeitverlauf undhistory -c; rm ~/.bash_history
löscht somit beide.quelle