uptime | fieltern?
input:
uptime
output
16:26:02 up 2:07, 1 user, load average: 0.16, 0.13, 0.63
Nun mochte ich quasie nur: 2:07 ausgegeben bekommen, also nur den 2 wert
ps: kann mir auch jemand zeigen wie es mit awk aussehen wurde, doppelt danke im vorraus
ps2: Warum zählt der Root nicht als user?
pas3: Kann man auch spiezell die user uptime kriegen (ikw von:root)
3 Antworten
Neben den bereits gezeigten Möglichkeiten:
uptime|cut -d' ' -f2
Ferner könnte man direkt /proc/upotime auslesen und das gerade selbst umrechnen.
Beispielsweise:
IFS=' ' read -ra my_array <<< $(uptime)
echo ${my_array[2]} | sed 's/,//'
Ich bin mir sicher, das geht deutlich einfacher, aber so klappt es.
- read -ra liest die Eingabe (in diesem Fall die Ausgabe von uptime) und IFS trennt es anhand des Leerzeichens, und schreibt es in die Variable my_array.
- echo wirft dann den zweiten Eintrag aus
- sed entfernt noch das Komma
ps2: Warum zählt der Root nicht als user?
Der zählt als user, aber der ist aktuell scheinbar nicht eingeloggt. Denn hier werden nur die eingeloggten Benutzer aufgezählt. Bei mir im System gibt es bspw. 38 "Benutzer":
cat /etc/passwd | wc -l
pas3: Kann man auch die user uptime kriegen (ikw:root)
Du meinst die Login-Zeit des Benutzers? Das geht über
last USER_NAME
Da werden alle Logins mit Einlog- und Auslog-Zeit aufgelistet sowie die Zeit, wie lange man eingeloggt ist/war.
ad 1) Kleiner Tipp:
man uptime
gibt erste Hilfe! Da findet man die Option "-p"
ad 2) Auch root zählt als user, sofern er angemeldet ist.
ad 3) Die "uptime" zeigt die Zeit seit Einschalten des Rechners und nicht die Anwesenheit der User.
input:
output:
Ich hatte gern "2:07" ausgeben, geht das?