So sehen Sie, wie viele Benutzer unter Linux sind

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

Sie können auch den Befehl w verwenden, um eine detailliertere Ansicht der einzelnen Anmeldesitzungen zu erhalten:

Wir können die Sitzungen zählen zählen, indem wir die Zeilen in der Ausgabe des Befehls who oder w zählen, wenn Sie die Option -h verwenden (um die Kopfzeilen zu unterdrücken, die wir nicht zählen möchten). Zu diesem Zweck werden wir die Ausgabe über den vertikalen Balken (" | ") pipeieren, um eine Befehlspipeline zu erstellen, und die Ausgabe eines Programms an das nächste Programm in der Pipeline senden. Hier zählen wir die Zeilen von who und w -h, indem wir sie an wc -l leiten, wodurch effektiv eine Anzahl aktiver Sitzungen generiert wird.

Unique User zählen

Die obige Methode zählt Anmeldesitzungen. Wenn ein Benutzer jedoch mehr als eine Anmeldesitzung geöffnet hat, werden diese mehr als einmal gezählt. Um einzelne Benutzer zu zählen, müssen wir kreativer werden. Wir können den Befehl Ausschneiden verwenden, um alle Informationen mit Ausnahme des Benutzernamens zu entfernen:

Der obige Befehl sagt: "Nehmen Sie die Ausgabe von who und zeigen Sie nur das erste Informationsfeld an, das durch ein Leerzeichen eliminiert wird." Es gibt uns eine Liste nur der 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:

Um diese eindeutigen Benutzer zu zählen, fügen wir am Ende unserer Befehlspipeline wc -l hinzu :

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

Eine andere nützliche Technik ist die Verwendung des Befehls ps, um eine Liste für jeden Benutzer auf dem System zu erstellen, der einen aktuell laufenden Prozess besitzt. Dazu können wir ps mit den Optionen -e, -a, -h und -o verwenden . Sie können wie folgt kombiniert werden:

Dieser Befehl sagt, "Informationen für jeden Prozess anzeigen, der einem Benutzer gehört, keine Header anzeigen und nur den Namen des Benutzers ausdrucken."

Beachten Sie, dass zusätzlich zu den zuvor von who aufgeführten Benutzern auch root hier aufgeführt wird. Mit dem Befehl who werden nur Benutzer angezeigt, die an einer Terminalsitzung angemeldet sind. Ps listet jedoch alle Benutzer auf, die über einen aktiven Prozess verfügen, auch wenn kein Terminal geöffnet ist. Der Befehl ps enthält root und kann andere systemspezifische Benutzer enthalten.

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

... und produzieren die gewünschte Gesamtmenge: