it-swarm.com.de

Wie entferne ich eine einzelne Zeile aus dem Verlauf?

Ich arbeite unter Mac OSX, also benutze ich wohl Bash ...?

Manchmal gebe ich etwas ein, an das ich mich in der Geschichte nicht erinnern möchte. Wie entferne ich es?

228
B Seven

Vorbeugende Maßnahmen

Wenn Sie einen Befehl ausführen möchten, ohne ihn im Verlauf zu speichern, müssen Sie ihm ein zusätzliches Leerzeichen voranstellen

Prompt$ echo saved
Prompt$  echo not saved \
> #     ^ extra space

Damit dies funktioniert, benötigen Sie entweder ignorespace oder ignoreboth in HISTCONTROL. Zum Beispiel ausführen

HISTCONTROL=ignorespace

Um diese Einstellung dauerhaft zu machen, fügen Sie sie in Ihr .bashrc.

Obduktion

Wenn Sie den Befehl bereits ausgeführt haben und ihn aus dem Verlauf entfernen möchten, verwenden Sie ihn zuerst

history

um die Liste der Befehle in Ihrem Verlauf anzuzeigen. Suchen Sie die Nummer neben der Nummer, die Sie löschen möchten (z. B. 1234), und führen Sie sie aus

history -d 1234

Wenn die zu löschende Zeile bereits in Ihre $ HISTFILE geschrieben wurde (was normalerweise der Fall ist, wenn Sie eine Sitzung standardmäßig beenden), müssen Sie in $ HISTFILE zurückschreiben. Andernfalls wird die Zeile erneut angezeigt, wenn Sie eine neue öffnen Session:

history -w
390
jw013
  1. Verwenden Sie, um Ihren gesamten Verlauf zu löschen

    history -c
    
  2. Verwenden Sie zum Löschen einer einzelnen Zeile

    history -d linenumber
    
54
soumyaranjan

Ich habe das in meinem ~/.bashrc, wodurch der Befehl $ forget lösche den vorherigen Befehl aus dem Verlauf

function forget() {                                                              
   history -d $(expr $(history | tail -n 1 | grep -oP '^ \d+') - 1);              
}
9
Ryan Haining

Sie können Einträge jederzeit in ~/.bash_history Bearbeiten und entfernen. Dies ist nützlich, wenn Sie entweder einen Eintrag oder mehrere Einträge entfernen möchten

5
Weslor

Wenn Sie die gesamte Bash-Sitzung vergessen möchten, können Sie den aktuellen Bash-Prozess kill. Da die Variable $$ Halten Sie das pid der aktuellen Shell gedrückt. Sie können Folgendes tun:

kill -9 $$
5
Bruno Bronosky

Schnelle Schritte:

  1. Finden Sie mit echo $HISTFILE Heraus, wo sich die Verlaufsdatei Ihres Terminals befindet.
  2. Öffnen Sie die Datei mit Ihrem Texteditor
  3. Löschen Sie die sensiblen Zeilen, die Sie dort finden
  4. Speicher die Datei
  5. Schließen Sie Ihr Terminal und öffnen Sie es erneut
  6. ERLEDIGT : Ihre Geschichte ist sauber! Sie können dies überprüfen, indem Sie den Befehl history in Ihrem Terminal ausführen
0
marcelosalloum

In Ubuntu (aber ich bin mir ziemlich sicher, dass es für andere Linux-Distributionen und auch für MacOS genauso funktionieren wird) kann die Bash-Verlaufsdatei einfach in einem beliebigen Texteditor bearbeitet werden:

$ nano ~/.bash_history

Wenn Sie nicht wissen, wo es gespeichert ist, können Sie es wie folgt finden:

$ echo $HISTFILE

Oder Sie können es einfach etwas allgemeiner machen:

$ nano $HISTFILE
0
automatix

Sie müssen die Änderungen schreiben, nachdem Sie den Verlauf gelöscht haben. Und wenn Sie nicht möchten, dass der Befehl zum Löschen des Verlaufs in Ihrem Verlauf enthalten ist, müssen Sie den Befehl folgendermaßen ausführen:

history -c && history -w && logout

Viel Glück.

0
user882786

Verwenden Sie die Option -d, um eine einzelne Zeile aus der Verlaufsdatei zu entfernen. Wenn Sie beispielsweise einen Befehl löschen möchten, bei dem Sie das Klartextkennwort wie im obigen Szenario eingegeben haben, suchen Sie die Zeilennummer in der Verlaufsdatei und führen Sie diesen Befehl aus.

$ history -d 2038

Verwenden Sie den folgenden Befehl history mit der Option -c, um alle Einträge aus dem Bash-Verlauf zu löschen oder zu löschen.

$ history -c

Alternativ können Sie den folgenden Befehl verwenden, um den Verlauf aller zuletzt ausgeführten Befehle dauerhaft in der Datei zu löschen.

$ cat /dev/null > ~/.bash_history

Auch mit Bash 5 können Sie einen Bereich löschen

history -d 511-520

0
champion-runner

1- in Bash-Terminal-Typ

history # Hiermit werden alle Befehle in der Verlaufsdatei .bash_history mit Zeilennummern aufgelistet

ex:

  ...
  987  cd
  988  ssh [email protected]
  990  exit
  991  cd

2- Wählen Sie die CMD-Zeilennummer aus, die Sie löschen möchten

history -d 988

Hinweis: Wenn Sie beispielsweise die letzten 3 CMDs löschen möchten, wählen Sie einfach die dritte Zeilennummer aus dem unteren Beispiel: 988 und wiederholen Sie die CMD history -d 988 3 mal hintereinander.

0
KhogaEslam