Vollständige Anleitung zum Linux-Befehl history
history ist ein äußerst nützlicher integrierter Befehl in Linux-Systemen. Er zeichnet den gesamten Befehlsverlauf auf, den Benutzer im Terminal ausgeführt haben. Diese Funktion ist besonders wertvoll in den folgenden Szenarien:
- Vorgänge nachverfolgen: Zuvor ausgeführte Befehle anzeigen
- Schnelle Wiederverwendung: Lange Befehle müssen nicht erneut eingegeben werden
- Fehlerbehebung: Betriebsaufzeichnungen des Systems prüfen
- Effizienzsteigerung: Wiederkehrende Aufgaben mithilfe historischer Befehle schnell erledigen
Wenn du Befehle im Terminal eingibst, speichert Bash sie im Speicher und schreibt sie in~/.bash_historydie Datei (unter Standardkonfiguration).
Grundlegende Syntax und Verwendung
Die grundlegende Syntax des history-Befehls ist sehr einfach:
history [选项] [参数]
Häufige Formen
1. Die vollständige Historie anzeigen:
history
2. Die letzten N Einträge anzeigen:
history 10 # 显示最近10条命令
3. Die gesamte Historie löschen:
history -c
4. Einen bestimmten Verlaufseintrag löschen (z. B. Eintrag 1010 löschen):
history -d 1010
Ausführliche Erklärung gängiger Optionen und Parameter
Der Befehl history unterstützt mehrere nützliche Optionen:
| Option | Beschreibung | Beispiel |
|---|---|---|
-c |
Den gesamten Verlauf löschen | history -c |
-d |
Den Verlaufseintrag an der angegebenen Position löschen | history -d 1005 |
-a |
Den Verlauf sofort aus dem Speicher in die Verlaufsdatei schreiben | history -a |
-n |
Ungelesene Verlaufseinträge aus der Verlaufsdatei lesen | history -n |
-r |
Den Inhalt der Verlaufsdatei in die aktuelle Sitzung einlesen | history -r |
-w |
Den aktuellen Verlauf in die Verlaufsdatei schreiben | history -w |
Praktische Tipps und fortgeschrittene Nutzung
1. Historische Befehle schnell ausführen
Beispiel
!! # Führe den vorherigen Befehl aus
!string # Führe den zuletzt ausgeführten Befehl aus, der mit string beginnt
Beispiel:
Beispiel
!! # Führe den vorherigen Befehl erneut aus
!vim # Führe den zuletzt ausgeführten Befehl aus, der mit vim beginnt
2. Historische Befehle durchsuchen
VerwendungCtrl+RDu kannst Befehle im Verlauf rückwärts durchsuchen; gib ein Teilwort ein, um den passenden Befehl zu finden.
3. Ersetzung historischer Befehle
Beispiel
Beispiel:
Beispiel
$ ^file1^file2 # Entspricht der Ausführung von cat file2.txt
4. Befehlszeitstempel anzeigen
In~/.bashrcFügen Sie die folgende Konfiguration hinzu, um die Ausführungszeit von Befehlen anzuzeigen:
Beispiel
Führen Sie dann aus:
Beispiel
Danachhistoryzeigt der Befehl die Ausführungszeit jedes Befehls an.
Konfiguration von Umgebungsvariablen
Das Verhalten des history-Befehls kann über Umgebungsvariablen angepasst werden:
| Variable | Beschreibung | Empfohlener Wert |
|---|---|---|
HISTSIZE |
Anzahl der im Speicher gehaltenen History-Befehle | 5000 |
HISTFILESIZE |
Anzahl der in der History-Datei gehaltenen Befehle | 10000 |
HISTCONTROL |
Steuert, wie die History aufgezeichnet wird | ignoredups:erasedups |
HISTIGNORE |
Gibt Befehle an, die nicht aufgezeichnet werden sollen | "ls:cd:pwd:exit" |
Konfigurationsbeispiel (hinzufügen zu~/.bashrc):
Beispiel
export HISTFILESIZE=10000
export HISTCONTROL=ignoredups:erasedups
export HISTIGNORE="ls:cd:pwd:exit"
export HISTTIMEFORMAT="%F %T "
Praktische Anwendungsszenarien
Szenario 1: Vergessene Befehle wiederherstellen
Beispiel
Szenario 2: Die am häufigsten verwendeten Befehle zählen
Beispiel
Szenario 3: Verlaufsdatensätze sichern
Beispiel
cp ~/.bash_history ~/command_history_backup_$(date +%F).txt
Hinweise
- Datenschutz und Sicherheit: Historische Aufzeichnungen können sensible Informationen enthalten (z. B. Passwörter); schützen Sie sie entsprechend.
- Problem mit mehreren Terminals: Verschiedene Terminal-Sitzungen teilen den Verlauf standardmäßig nicht in Echtzeit.
- Verlust des Verlaufs: Ein abnormaler Abbruch kann dazu führen, dass Befehle nicht gespeichert werden.
- Umgang mit großen Dateien: Übermäßig große Verlaufsdateien können die Leistung beeinträchtigen.
Zusammenfassung und Übungen
Überprüfen Sie Ihren Befehlsverlauf und finden Sie die 5 zuletzt verwendeten git-Befehle.
history | grep git | tail -5
Konfigurieren Sie Ihre bash-Umgebung so, dass Verlaufseinträge Zeitstempel enthalten und doppelte Befehle ignoriert werden.
Erstellen Sie einen Alias, um den aktuellen Verlauf schnell in einem angegebenen Verzeichnis zu sichern.
alias backup_history='cp ~/.bash_history ~/history_backups/history_$(date +%Y%m%d_%H%M%S).txt'
Versuchen Sie,
Ctrl+Rnach einem komplexen Befehl zu suchen, den Sie zuvor verwendet haben.
Wenn Sie den Befehl history beherrschen, können Sie Ihre Effizienz im Linux-Terminal erheblich verbessern, redundante Eingaben reduzieren und Ihren Verlauf der Kommandozeilenoperationen besser verwalten.
Andere Erweiterungen
Linux-Befehlsenzyklopädie