Chcę wyświetlić czas, jaki upłynął od ostatniego uruchomienia systemu uptime, ale nie chcę, aby wyświetlał wszystkie te informacje. Chcę tylko wiedzieć, ile godzin minęło od ostatniego uruchomienia systemu (tj .: 18:17:59)
Chcę wyświetlić czas, jaki upłynął od ostatniego uruchomienia systemu uptime, ale nie chcę, aby wyświetlał wszystkie te informacje. Chcę tylko wiedzieć, ile godzin minęło od ostatniego uruchomienia systemu (tj .: 18:17:59)
Odpowiedzi:
Aby uzyskać czas, jaki upłynął od ostatniego uruchomienia systemu w hh:mm:ssformacie, możesz użyć:
awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime
/proc/uptime pseudoplik zawiera dwie liczby:
Tak więc, używając awkmożesz wziąć numer jodły i przekonwertować go w hh:mm:ssformacie.
Aby uzyskać czas sprawności w ciągu kilku sekund:
awk '{print $1}' /proc/uptime
Aby uzyskać czas bezczynności w kilka minut:
echo $(awk '{print $1}' /proc/uptime) / 60 | bc
Aby uzyskać czas pracy w godzinach:
echo $(awk '{print $1}' /proc/uptime) / 3600 | bc
Aby uzyskać x cyfr dokładności, możesz dodać skalę = x, np. Dla x = 2
echo "scale=2; $(awk '{print $1}' /proc/uptime) / 3600" | bc
Spróbuj tego:
uptime | awk '{ print $3 }'
W rzeczywistości wypisuje trzecie słowo linii wyprodukowanej przez uptime.
uptimeWygląda na to, że nie mam opcji, ale nie mogłem znaleźć niczego w sieci.
Trywialna modyfikacja pokazująca dni:
awk '{print int($1/86400)"days "int($1%86400/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime