Anzeigen und Zählen von Benutzern auf einem Linux-System

Der Befehl who zeigt Ihnen jede auf dem Computer geöffnete Anmeldesitzung:

Anzeigen und Zählen von Benutzern auf einem Linux-System

Sie können auch den Befehl w verwenden, um eine detailliertere Ansicht dessen zu erhalten, was jede Anmeldesitzung tut:

W-Befehl

Sie können die Gesamtzahl der offenen Sitzungen zählen, indem Sie die Zeilen in der Ausgabe von who oder w mit der Option -h zählen. (Die Option -h lässt Kopfzeilen weg, die wir nicht zählen wollen.) Um dies zu tun, leiten Sie die Ausgabe mithilfe des vertikalen Balkens (“|”) weiter, um eine Befehlspipeline zu erstellen. Die Ausgabe eines Programms in der Pipeline wird als Eingabe an das nächste weitergegeben. Hier zählen wir die Zeilen von who und w -h, indem wir sie an wc -l weiterleiten, wodurch effektiv eine Anzahl aktiver Sitzungen generiert wird.

wer wc

Unique User zählen

Die obige Methode zählt Anmeldesitzungen, aber wenn ein Benutzer mehr als eine Anmeldesitzung geöffnet hat, werden sie mehr als einmal gezählt. Um Unique User zu zählen, müssen wir kreativer werden. Wir können den Befehl cut verwenden, um alle Informationen außer dem Benutzernamen zu entfernen:

wer schneidet

Der obige Befehl sagt: “Nehmen Sie die Ausgabe von who und zeigen Sie nur das erste Informationsfeld an, das durch ein Leerzeichen begrenzt ist.” Es gibt uns nur eine Liste mit den Benutzernamen, aber wir müssen immer noch wiederholte Namen herausfiltern.

Dazu können wir den Befehl sort -u hinzufügen. Dadurch werden die Namen alphabetisch sortiert und nicht eindeutige Zeilen herausgefiltert:

wer schneidet sort

Und schließlich, um diese eindeutigen Benutzer zu zählen, fügen wir wc -l am Ende unserer Befehlspipeline hinzu:

wer schneidet sort wc

Verwenden von ps zum Zählen aller Benutzer, die einen Prozess ausführen

Eine weitere nützliche Technik besteht darin, den Befehl ps zu verwenden, um eine Liste aller Benutzer auf dem System zu erstellen, die Eigentümer eines derzeit laufenden Prozesses sind. Dazu können wir ps mit den Optionen -e, -a, -h und -o user verwenden. Sie können wie folgt kombiniert werden:

ps-Befehl

Dieser Befehl besagt: „Informationen für jeden Prozess anzeigen, der einem beliebigen Benutzer gehört, keine Kopfzeilen anzeigen und nur den Namen des Benutzers ausgeben.“

Beachten Sie, dass wir hier zusätzlich zu den Benutzern, die zuvor von who aufgelistet wurden, auch root sehen. Der Befehl who zeigt nur Benutzer an, die bei einer Terminalsitzung angemeldet sind, aber ps listet alle Benutzer auf, denen ein laufender Prozess gehört, selbst wenn sie kein Terminal geöffnet haben. Der Befehl ps enthält root und möglicherweise andere systemspezifische Benutzer.

Wie zuvor können wir unsere Ausgabe sortieren und nur eindeutige Namen auflisten:

ps sortieren

…und erzeuge die gewünschte Summe:

ps wc sortieren

Neueste Artikel
Vielleicht möchten Sie lesen

LEAVE A REPLY

Please enter your comment!
Please enter your name here