GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie lösche ich Bash_history nur für den aktuellen Tag?

Ich arbeite an einem Kundenprojekt, das auf Digital Ocean auf einem Ubuntu-Server gehostet wird, ich arbeite mit ein paar anderen Entwicklern daran und ich bin ein bisschen neu und habe ein paar Befehle erstellt und es ist wirklich chaotisch. Wie kann ich den Befehlsverlauf bis zu einem bestimmten Punkt entfernen?

Ich möchte zum Beispiel alle Befehle entfernen, die ich heute eingegeben habe, und alle vorherigen Befehle davor beibehalten, ist das möglich?

Für andere Entwickler ist es einfacher, frühere Befehle zu finden, ohne alle meine durchzugehen. Ist es möglich, bash_history bis zu einem bestimmten Punkt zu löschen, zum Beispiel nur die heutige Geschichte? Wenn ja, wie?

Bitte informieren!

Danke!

Akzeptierte Antwort:

Zeilen im Bash-Verlauf werden als einfache Textzeilen ohne Metainformationen wie einen Aufrufzeitstempel gespeichert. Es ist also nicht möglich, den gesamten Befehlsverlauf eines einzigen Tages automatisch zu löschen, da man einfach nicht mehr erkennen kann, welcher Befehl wann ausgeführt wurde.

Wenn Sie einfach den gesamten Befehlsverlauf Ihrer aktuellen Bash-Sitzung entfernen möchten (also alles, was sich nur noch im Speicher befindet und noch nicht auf die Festplatte geschrieben wurde), können Sie entweder den speicherinternen Verlaufspuffer löschen oder ihn durch den alten Verlauf ersetzen Inhalt der Datei von der Festplatte.

  • Das Löschen des Verlaufspuffers führt zu einem leeren Speicherverlauf für Ihre aktuelle Sitzung, was bedeutet, dass keine Befehle angezeigt werden, wenn Sie drücken usw. Sobald Sie Ihre Bash-Sitzung verlassen, werden alle neuen Befehle, die nach dem Löschen eingegeben wurden, an die Verlaufsdatei angehängt, und in Ihrer nächsten Sitzung sehen Sie wieder den vollständigen Verlauf, mit nur dem Bereich zwischen dem Beginn Ihrer letzten Sitzung und der Löschbefehl fehlt.

    history -c
    
  • Das Ersetzen des aktuellen Verlaufspuffers im Speicher durch den Inhalt der Verlaufsdatei von der Festplatte hat das gleiche Endergebnis wie das Löschen des Verlaufspuffers, außer dass Sie in Ihrer aktuellen Sitzung Zugriff auf den alten Befehlsverlauf anstelle einer leeren Liste haben.

    history -r
    

Wenn das für Sie nicht hilfreich ist, weil Sie Einträge aus früheren Sitzungen oder nur eine Teilsitzung aufräumen möchten, ist die Operationsmethode genau das Richtige für Sie:

Synchronisieren Sie Ihren aktuellen Verlaufspuffer im Arbeitsspeicher mit der Verlaufsdatei auf der Festplatte, öffnen Sie diese Datei dann in einem Texteditor und entfernen Sie alle problematischen Einträge manuell.

Verwandte Themen:Welche Ordner sollen in die Sicherung aufgenommen werden?

Um den Verlauf Ihrer aktuellen Sitzung manuell an die Verlaufsdatei anzuhängen (da dies nur automatisch geschieht, wenn Sie Ihre Sitzung beenden), führen Sie zuerst Folgendes aus:

history -a

Öffnen Sie danach die Bash-Verlaufsdatei ~/.bash_history in Ihrem bevorzugten Texteditor (da Sie sich auf einem Server befinden, würde ich z. B. nano vorschlagen ) und bearbeiten Sie die Befehlsliste nach Ihren Wünschen. Die Datei listet alle aufgezeichneten Befehle in chronologischer Reihenfolge auf, die neuesten Befehle zuletzt. Entfernen Sie einfach die störenden Zeilen und speichern Sie Ihre Arbeit.

Danach sollten Sie den geänderten Verlauf mit dem folgenden Befehl erneut in Ihren speicherinternen Verlaufspuffer laden, um zu verhindern, dass alte Einträge aus dem Speicher an die aufgeräumte Verlaufsdatei angehängt werden, wenn Sie Ihre Sitzung beenden:

history -r

Ubuntu
  1. Linux – Wie kann ich die Netzwerkfreigabe für den aktuellen Prozess aufheben?

  2. Wie entferne ich Duplikate in der .bash_history, um die Reihenfolge beizubehalten?

  3. So führen Sie den Ping-Befehl nur für N Pakete aus

  4. Wie vergebe ich einen Namen für einen Bildschirm?

  5. Wie kann ich mich von einer offenen Remote-SSH-Sitzung abmelden?

So zeigen und löschen Sie den Terminalverlauf in Ubuntu 20.04

So löschen Sie ein Verzeichnis in Ubuntu 20.04

So löschen Sie eine Datei in Ubuntu

So geben Sie das Zeitlimit für eine Sudo-Sitzung an

So legen Sie das Zeitlimit für eine Sudo-Sitzung in Ubuntu 20.04 LTS fest

Wie füge ich eine neue Domain nur für E-Mails hinzu?