Die Kraft des Linux History Command in Bash Shell
- 4628
- 162
- Levke Harnapp
Wir gebrauchen Geschichte Befehl häufig in unseren täglichen Routinejobs, um den Befehlsverlauf zu überprüfen oder Informationen über den von Benutzer ausgeführten Befehl zu erhalten. In diesem Beitrag werden wir sehen, wie wir den Befehl History effektiv verwenden können, um den Befehl zu extrahieren, der von Benutzern in Bash Shell ausgeführt wurde. Dies kann für Prüfungszwecke nützlich sein oder herausfinden, welcher Befehl zu welchem ausgeführt wird Datum Und Zeit.
Standardmäßig Datum Und Zeitstempel wird während der Ausführung nicht gesehen werden Geschichte Befehl. Bash Shell bietet jedoch jedoch Cli Tools zur Bearbeitung des Befehlsverlaufs des Benutzers. Lassen Sie uns einige praktische Tipps und Tricks und Kraft von sehen Geschichte Befehl.
Beispiele für Verlaufsbefehlsbefehl1. Liste Last/alle ausgeführten Befehle unter Linux
Einfach ausführen Geschichte Der Befehl vom Terminal zeigt Ihnen eine vollständige Liste der zuletzt ausgeführten Befehle mit Zeilennummern an.
[[E -Mail geschützt] ~] $ Histor geschützt] \ h \ w] $ \ e [m "3 ps1 =" \ [E -Mail geschützt] \ h: \ w [\ j] $ "4 ping Google.com 5 echo $ PS1 6 Tail -f/var/log/messages 7 schwanz -f/var/log/message 8 Beenden Sie 9 Löschen 10 Verlauf 11 Clear 12 HASTE
2. Listen Sie alle Befehle mit Datum und Zeitstempel auf
Wie findet man Datum Und Zeitstempel gegen das Kommando? Mit 'Export' Der Befehl mit Variablen zeigt den Befehl des Verlaufs mit entsprechendem Zeitstempel an, wenn der Befehl ausgeführt wurde.
[[E-Mail geschützt] ~] $ export histimeFormat = " %f %t" 1 2013-06-09 10:40:12 CAT /ETC /Ausgabe 2 2013-06-09 10:40:12 Clear 3 2013-06- 09 10:40:12 Finden Sie /etc -Name *.conf 4 2013-06-09 10:40:12 Clear 5 2013-06-09 10:40:12 Geschichte 6 2013-06-09 10:40:12 PS1 = '\ E [1; 35m [\ [E-Mail-Protected ] \ h \ w] $ \ e [M '7 2013-06-09 10:40:12 PS1 = "\ E [0; 32M [\ [E-Mail geschützt] \ H \ W] $ \ e [M" 8 2013-06-09 10:40:12 PS1 = "\ [E-Mail Protected] \ H: \ W [\ J] $" 9 2013-06-09 10:40:12 Ping Google.com 10 2013-06-09 10:40:12 Echo $ PS1
Bedeutung von HistimeFormat -Variablen
%F äquivalent zu %y - %m - %d %t ersetzt nach Zeit ( %H: %m: %s)
3. Filterbefehle in der Geschichte
Wie wir sehen können, wird der gleiche Befehl in der obigen Ausgabe wiederholt. Wie man einfache oder nicht zerstörerische Befehle in der Geschichte filtert?. Verwenden Sie Folgendes 'Export'Befehl, indem der Befehl in angegeben wird in Histignore = 'ls -l: pwd: Datum:' wird nicht durch System gespeichert und nicht im Befehl des Verlaufs angezeigt werden.
[[E -Mail geschützt] ~] $ export histignore = "ls -l: pwd: Datum:"
4. Ignorieren Sie doppelte Befehle in der Geschichte
Mit dem folgenden Befehl hilft uns, die vom Benutzer erstellten doppelten Befehle zu ignorieren. Im Verlauf wird nur einzeln.
[[E -Mail geschützt] ~] $ Export HistControl = IgnoredUps
5. Nicht fester Exportbefehl
Unbegrenzter Exportbefehl im laufenden Fliegen. Ausführen Unbegrenzter Export Befehl mit variabler eins nach eins nach den Befehlen exportiert wurden von Export Befehl.
[[E -Mail geschützt] ~] $ uneingestellter ExporthistControl
6. Exportbefehl dauerhaft speichern
Machen Sie einen Eintrag wie folgt in .bash_profile speichern Export dauerhaft befehlen.
[[E -Mail geschützt] ~] $ vi .bash_profile # .bash_profile # Holen Sie sich die Aliase und Funktionen, wenn [-f ~/.bashrc]; Dann . ~/.BASHRC FI # Benutzerspezifische Umgebung und Startprogramme Exportieren Sie HistControl = Ignoredups Path = $ Pfad: $ Home/Bin Export Path
7. Listen Sie die ausgeführten Befehle des spezifischen Benutzers auf
So sehen Sie den Befehlsverlauf, der von einem bestimmten Benutzer ausgeführt wird. Bash hält Aufzeichnungen über die Geschichte in einem '~/.bash_history ' Datei. Wir können die Datei anzeigen oder öffnen, um den Befehlsverlauf anzuzeigen.
[[E -Mail geschützt] ~] $ vi .bash_history cd / tmp / cd logstalgia-1.0.3/ ./Konfigurieren Sie sudo passwd root apt-Ganden Sie libsdl1 installieren.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev GCC machen ./Konfigurieren Sie APT-GET-Installieren Sie libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev GCC ++ APT-Get Installieren Sie libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev machen GCC APT-Get Installieren
8. Deaktivieren Sie die Speicherung der Geschichte der Befehle
Eine Organisation hat aufgrund der Sicherheitsrichtlinie der Organisation die Geschichte der Befehle nicht aufbewahrt. In diesem Fall können wir bearbeiten .bash_profile Datei (es ist versteckte Datei) von Benutzern und erstellen Sie einen Eintrag wie unten.
[[E -Mail geschützt] ~] $ vi .bash_profile # .bash_profile # Holen Sie sich die Aliase und Funktionen, wenn [-f ~/.bashrc]; Dann . ~/.BASHRC FI # Benutzerspezifische Umgebung und Start -up -Programme Path = $ Path: $ HOME/BIN HISTSIZE = 0 Exportpfad .Bash_profile (Ende)
Datei speichern und Änderungen mit dem folgenden Befehl laden.
[[E -Mail geschützt] ~] $ Quelle .bash_profile
Notiz: Wenn Sie nicht möchten, dass System die Befehle, die Sie eingegeben haben.
[[E -Mail geschützt] ~] $ export histSize = 0
Tipps: Suchen 'Histaret'und bearbeiten in'/etc/Profil ' Datei mit Superuser. Die Änderung der Datei wirkt sich weltweit aus.
9. Befehle löschen oder klare Geschichte
Mit hoch Und runter Pfeil können wir zuvor gebrauchte Befehl sehen, die hilfreich sein oder Sie verärgern können. Löschen oder Löschen aller Einträge aus der Bash -Historie -Liste mit '-C' Optionen.
[[E -Mail geschützt] ~] $ history -c
10. Suchbefehle im Verlauf mit Grep -Befehl
Suchbefehl durch '.bash_history"Indem Sie Ihre Verlaufsdatei in" einfließen lassen "Grep' wie nachstehend. Zum Beispiel wird der folgende Befehl gesucht und finden 'PWD'Befehl aus der Verlaufsliste.
[[E -Mail geschützt] ~] $ History | GREP PWD 113 2013-06-09 10:40:12 PWD 141 2013-06-09 10:40:12 PWD 198 2013-06-09 15:46:23 Geschichte | GREP PWD 202 2013-06-09 15:47:39 Geschichte | Grep PWD
11. Suchen Sie zuletzt ausgeführtes Befehl
Suchen Sie zuvor ausgeführte Befehl mit 'Strg+R' Befehl. Sobald Sie den Befehl gefunden haben, den Sie suchen, drücken Sie 'Eingeben"Um dieselbe andere Presse auszuführen"Esc'um es zu stornieren.
(Reverse-i-Suche) 'Quelle': Quelle .bash_profile
12. Rückruf zuletzt ausgeführter Befehl
Erinnern Sie sich an einen zuvor verwendeten Befehl. Kombination von Knall Und 8 (!8) Befehl wird die Nummer abrufen 8 Befehl, den Sie ausgeführt haben.
[[E -Mail geschützt] ~] $ !8
13. Rückruf zuletzt ausgeführt spezifischen Befehl
Rückruf zuvor gebrauchter Befehl (netstat -np | Grep 22) mit '!und gefolgt von einigen Buchstaben dieses bestimmten Befehls.
[[E -Mail geschützt] ~] $ !Net Netstat -np | Grep 22 (Es dürfen keine Informationen für "-p" gelesen werden: GetEUID () = 501, aber Sie sollten root sein.) TCP 0 68 192.168.50.2:22 192.168.50.1: 1857 etabliert - TCP 0 0 192.168.50.2:22 192.168.50.1:2516 ESTABLISHED - unix 2 [ ] DGRAM 12284 - @/org/freedesktop/hal/udev_event unix 3 [ ] STREAM CONNECTED 14522 - unix 2 [ ] DGRAM 13622 - unix 3 [ ] STREAM CONNECTED 12250 - @/var/run/ Hald/dbus -ujajomna0g Unix 3 [] Stream Connected 12249 - UNIX 3 [] Stream Connected 12228 -/var/run/dbus/system_bus_socket unix 3 [] Stream angeschlossen 12227 12227 -
Wir haben versucht, die Kraft des Geschichtsbefehls hervorzuheben. Dies ist jedoch nicht ein Ende davon. Bitte teilen Sie uns Ihre Erfahrungen mit der Geschichte über unser Kommentarfeld unten mit.
- « Erstellen und Ausführen neuer Serviceeinheiten in SystemD mithilfe des Shell -Skripts und ausführen
- So installieren und konfigurieren Sie LEMP auf Debian 8 (Jessie) »