Die Ausgabe von dmesg zeigt die Anzahl der Sekunden + Millisekunden seit dem Systemstart.
[ 10.470000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 14.610000] device eth0 entered promiscuous mode
[ 18.750000] cfg80211: Calling CRDA for country: DE
[ 18.750000] cfg80211: Regulatory domain changed to country: DE
F: Wie werden die Sekunden + Millisekunden in ein lesbares Format gebracht?
Mein dmesg:
root@OpenWrt:/tmp# dmesg -h
dmesg: invalid option -- h
BusyBox v1.19.4 (2013-03-14 11:28:31 UTC) multi-call binary.
Usage: dmesg [-c] [-n LEVEL] [-s SIZE]
Print or control the kernel ring buffer
-c Clear ring buffer after printing
-n LEVEL Set console logging level
-s SIZE Buffer size
Eine Installation von util-Linux ist nicht möglich, da nicht viel Speicherplatz zur Verfügung steht:
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 1.1M 956.0K 132.0K 88% /
/dev/root 2.0M 2.0M 0 100% /rom
tmpfs 14.3M 688.0K 13.6M 5% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mtdblock3 1.1M 956.0K 132.0K 88% /overlay
overlayfs:/overlay 1.1M 956.0K 132.0K 88% /
.
root@OpenWrt:/tmp# which awk perl sed bash sh shell tcsh
/usr/bin/awk
/bin/sed
/bin/sh
root@OpenWrt:~# date -h
date: invalid option -- h
BusyBox v1.19.4 (2013-03-14 11:28:31 UTC) multi-call binary.
Usage: date [OPTIONS] [+FMT] [TIME]
Display time (using +FMT), or set time
[-s,--set] TIME Set time to TIME
-u,--utc Work in UTC (don't convert to local time)
-R,--rfc-2822 Output RFC-2822 compliant date string
-I[SPEC] Output ISO-8601 compliant date string
SPEC='date' (default) for date only,
'hours', 'minutes', or 'seconds' for date and
time to the indicated precision
-r,--reference FILE Display last modification time of FILE
-d,--date TIME Display TIME, not 'now'
-D FMT Use FMT for -d TIME conversion
-k Set Kernel timezone from localtime and exit
/var/log/syslog
auf Debian-Systemen, überprüfen Sie dieses Protokoll; es enthält möglicherweise dieselben Informationen, jedoch mit lesbaren Zeitstempeln.date
Befehl unterstützt die-d
Flagge nicht, oder? Und auch keine Python? Welcheawk
Implementierung ist das? Ist esGNU awk
zumindestdate -d
, sollte meine aktualisierte Antwort funktionieren.Antworten:
Ich denke, was Sie suchen, ist
-T
wie folgt dokumentiertman dmesg
:Also zum Beispiel:
Wird:
Ich habe hier einen coolen Trick gefunden . Der dort verwendete
sed
Ausdruck war falsch, da er fehlschlagen würde, wenn mehr als einer]
in derdmesg
Zeile wäre. Ich habe es so geändert, dass es mit allen Fällen funktioniert, die ich in meiner eigenendmesg
Ausgabe gefunden habe. Das sollte also funktionieren, wenn Siedate
sich wie erwartet verhalten:Die Ausgabe sieht folgendermaßen aus:
quelle
-T
Flags nur fürutil-linux-ng-2.20.x
und höher unterstützt werden, so dass Ubuntu 12.04 und höher unterstützt wird und nicht in CentOS / RHEL 6.3 und niedrigerdmesg
seit Jahren und habe erst jetzt von dieser Flagge erfahren. Warum hat mir das niemand gesagt? : Ddmesg -T
Fall ist, zeigt das Skript in der Antwort auch im Ruhezustand eine falsche Uhrzeit an.Ihre Version von
dmesg
ist offensichtlich nicht die Vollversion von,util-linux
sondern wird von bereitgestelltbusybox
.busybox
stellt die Grundlagen einer Vielzahl von Dienstprogrammen bereit, bietet jedoch nicht alle nützlichen Funktionen.Wenn Sie das
-T
von Terdon vorgeschlagene Flag verwenden möchten, müssen Siedmesg
die von bereitgestellte Binärdatei verwendenutil-linux
quelle