Wie kann ich sehen, wie viele Personen an einem Linux-Computer angemeldet sind? Ich weiß, dass der Befehl 'Benutzer' alle angemeldeten Personen anzeigt, aber ich benötige eine Nummer. Gibt es einen Schalter für Benutzer, den ich in der Manpage vermisse? Ich dachte daran, den grep -c
Befehl zu verwenden, aber es muss in jedem Benutzernamen etwas geben, das gleich ist, damit dies funktioniert. Gibt es einen einfacheren Weg?
10
Klassischerweise lautet der Befehl "wer" und nicht "Benutzer", aber "wer" gibt Ihnen mehr Informationen. Rückblickend auf die ursprünglichen Unix-Artikel (Mitte der 70er Jahre) wäre das Beispiel gewesen:
Die Verwendung von 'wc -l' zählt die Ausgabezeilen - dies funktioniert
sowohl mit 'Benutzern' als auch mit'Wer'. Die Verwendung von '-w' funktioniert nur dann zuverlässig, wenn ein Wort pro Benutzer vorhanden ist (wie bei 'Benutzern', jedoch nicht bei 'Wer').Sie können 'grep -c' verwenden, um die Zeilen zu zählen. Da Sie nur an nicht leeren Benutzernamen interessiert sind, können Sie Folgendes tun:
In jeder Zeile steht immer mindestens ein Zeichen.
Wie in den Kommentaren von John T erwähnt , unterscheidet sich der
users
Befehlwho
in einer Reihe von Punkten. Das Wichtigste ist, dass anstelle eines Namens pro Zeile die Namen auf mehrere pro Zeile verteilt werden. Ich habe keinen Computer mit genügend verschiedenen Benutzern angemeldet, um zu testen, was passiert, wenn die Anzahl der Benutzer groß wird. Der andere Unterschied besteht darin, dass "wer" über verwendete Terminalverbindungen berichtet. Wenn mehrere Terminalfenster geöffnet sind, werden mehrere Zeilen für einen einzelnen Benutzer angezeigt, während "Benutzer" einen angemeldeten Benutzer nur einmal aufzulisten scheint.Infolge dieses Unterschieds
grep -c .
funktioniert die Formulierung ' ' nicht mit dem Befehl 'users'. 'wc -w
' ist notwendig.quelle
Öffnen Sie eine Shell und geben Sie Folgendes ein:
Die letzte Zeile gibt Ihnen eine Zählung.
BEARBEITEN:
(seufzt) Ich habe die Frage falsch verstanden. Hier ist ein etwas Brute-Force-Ansatz:
So zeigen Sie eindeutige Benutzernamen an:
So zeigen Sie eine Anzahl eindeutiger Benutzer an:
quelle
Möchten Sie die Anzahl der Sitzungen oder die Anzahl der tatsächlichen Benutzer anzeigen?
Das ist auf meinem Laptop, also bin ich der einzige Benutzer, aber ich bin dreimal angemeldet.
Es ist jedoch ziemlich einfach, diese Duplikate herauszufiltern, um die Anzahl der tatsächlichen Benutzer zu ermitteln.
quelle
Hier ist eine Bash-Version von Tinks großartigem Awk -Beitrag:
Ok, es ist ein bisschen länger, aber es hat sich gelohnt, dieses zu finden ... :).
Führen Sie beim Testen vor dem nächsten Versuch Folgendes aus:
quelle
Anzahl der aktuell angemeldeten Benutzer:
die oben genannten Buta mit ihrem Kontonamen:
quelle
Wer die Liste druckt, schneidet alles außer der ersten Zeile, sortiert -u sortiert und entfernt Duplikate und wc -l zählt die Zeilen. Funktioniert gut für mich auf Ubuntu / Bash :)
quelle
Sie können einfach
w
(/usr/bin/w
auf meinem Red Hat-basierten System) oderuptime
sie zeigen die tatsächliche Anzahl der angemeldeten Benutzer an.w:
Betriebszeit:
quelle
Und eine Methode, die nur ein Rohr verwendet ...
:}
quelle
http://www.gnu.org/software/coreutils/manual/html_node/who-invocation.html
"who" druckt Informationen zu Benutzern, die derzeit angemeldet sind. Zusammenfassung:
wer [Option] [Datei] [bin ich]
quelle
Sie können jederzeit das kostenlose Unix-Tool TOP herunterladen. Es erstellt eine Liste der Benutzer und auch, was sie gerade auf dem System tun, und wird so lange aktualisiert, wie es ausgeführt wird.
Es befindet sich unter http://www.unixtop.org/
Es verfügt über viele Befehlszeilenoptionen, sodass Sie in der Lage sein sollten, die gesuchten Informationen zu extrahieren.
quelle
quelle
Wenn Sie nach der Gesamtzahl der angemeldeten und abgemeldeten Benutzer in der richtigen Reihenfolge suchen, ist der beste auszuführende Befehl
quelle
cat -n
druckt einfach alle Zeilen in der Datei und nummeriert jede. Sie erhalten eine Liste der Benutzer, die auf diesem System vorhanden sind, aber Sie erhalten nicht viele Anmeldeinformationen.