Wie finde ich alle USB-Geräte, die seit der Installation des Betriebssystems angeschlossen waren?
Ich vermute, dass der Pfad /var/run/udev/data
diese Informationen enthält, bin mir aber nicht sicher.
Und wie filtere ich die Ergebnisse, um nur Tastaturen ODER Flash-Laufwerke zu finden?
Antwort1
Ihre Systemprotokolldatei wird aktualisiert, wenn USB-Geräte angeschlossen werden. Sie befindet sich normalerweise in /var/log/syslog
Debian-basierten Distributionen und /var/log/messages
in RedHat-basierten Distributionen.
Das Alter der Protokolldatei kann variieren, da einige Systeme Protokolldateien „rotieren“, sobald sie eine bestimmte Größe erreichen, oder ältere Einträge ganz verwerfen. Diese Einstellungen werden gespeichert in/etc/syslog.conf
Sie können Textdateien grep
beispielsweise mit durchsuchen.
cat /var/log/syslog | grep 'usb'
Die genaue Syntax hängt von Ihrem System ab: Überprüfen Sie das Protokoll nach dem Anschließen eines Geräts, um zu sehen, wie die Einträge aussehen.
Mit regulären Ausdrücken (RegEx) können Sie nach mehreren Begriffen gleichzeitig suchen. Das Pipe- |
Zeichen steht beispielsweise für „entweder/oder“.
grep '(usb-storage|usb-keyboard)'
(Mehr zu regulären Ausdrücken [hier.][https://www.digitalocean.com/community/tutorials/using-grep-regular-expressions-to-search-for-text-patterns-in-linux])
EDIT: Wie andere bereits bemerkt haben, handelt es sich hierbei nicht um ein permanentes Protokoll. Soweit ich weiß, gibt es kein Protokoll, dasalleEreignisse, die bis zum Installationsdatum zurückreichen.