Dane wyjściowe dmesg pokazują liczbę sekund + milisekund od uruchomienia systemu.
[ 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
P: Jak ustawić sekundy + milisekundy na czytelny format?
Mój 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
Aby zainstalować program util-Linux nie będzie możliwy, ponieważ nie ma dużo dostępnego miejsca:
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
w systemach Debian, sprawdź ten dziennik; może on zawierać te same informacje, ale z czytelnymi znacznikami czasu)date
polecenie nie obsługuje-d
flagi, prawda? I chyba żaden python? Któreawk
to wdrożenie? Czy toGNU awk
przynajmniejdate -d
, moja zaktualizowana odpowiedź powinna działać.Odpowiedzi:
Myślę, że to, czego szukasz, jest
-T
udokumentowane wman dmesg
:Na przykład:
Staje się:
Znalazłem fajne sztuczki tutaj .
sed
Wyrażenie stosowane było źle, ponieważ to nie powieść, gdy nie było więcej niż jeden]
wdmesg
linii. Zmodyfikowałem go, aby działał ze wszystkimi przypadkami znalezionymi w moichdmesg
wynikach. Powinno to działać, zakładając, żedate
zachowujesz się zgodnie z oczekiwaniami:Wyjście wygląda następująco:
źródło
-T
flagi obsługują tylkoutil-linux-ng-2.20.x
i więcej, więc będzie obsługiwał Ubuntu 12.04 i wyższe, a nie CentOS / RHEL 6.3 i niższedmesg
lat i dopiero teraz poznałem tę flagę. Dlaczego nikt mi tego nie powiedział? : Ddmesg -T
skrypt, skrypt w odpowiedzi pokazuje również zły czas po hibernacji.twoja wersja
dmesg
oczywiście nie jest pełnoprawną wersją,util-linux
ale jest dostarczana przezbusybox
.busybox
zapewnia podstawy wielu narzędzi, ale nie zapewnia wszystkich ich ciekawych funkcji.jeśli chcesz użyć
-T
flagi jako (słusznie) sugerowanej przez terdon, musisz użyć plikudmesg
binarnego dostarczonego przezutil-linux
źródło