Présentation générale
Dans le cadre de la surveillance de serveur et de la gestion des sessions utilisateur, la commande w est un outil essentiel permettant d’identifier instantanément les utilisateurs actuellement connectés et la charge globale du système (Load Average). Dans cet article, nous examinerons étape par étape l’interprétation de la sortie standard de la commande w, les combinaisons d’options fréquemment utilisées en production, ainsi que les différences majeures avec who et uptime.
1. Visualiser les utilisateurs connectés et la charge système en un coup d’œil : exécution de base de w
Nous exécutons d’abord la commande uptime afin de comparer et de vérifier les informations de temps de fonctionnement et de charge système, identiques à la première ligne affichée par la commande w.

La commande w s’utilise pour évaluer rapidement qui est connecté au système, les tâches exécutées par chaque utilisateur et l’état de la charge système.
La première ligne de la sortie indique l’heure actuelle, la durée de fonctionnement du système (uptime), le nombre d’utilisateurs connectés ainsi que la charge moyenne du système (Load Average) sur les 1, 5 et 15 dernières minutes. À partir de la deuxième ligne, les informations détaillées de session pour chaque utilisateur sont affichées.
⚙️ [Options principales]
-h, --no-header : Supprime l’en-tête (les informations de charge en haut et les titres des colonnes) pour n’afficher que la liste des utilisateurs.-s, --short : Utilise un format de sortie court, omettant les champs d’heure de connexion, JCPU et PCPU.-f, --from : Bascule (active ou désactive) l’affichage du champ FROM, qui indique l’adresse IP source ou le nom d’hôte de la connexion.-i, --ip-addr : Affiche l’adresse IP plutôt que le nom d’hôte pour l’emplacement de connexion.-o, --old-style : Utilise le format d’affichage à l’ancienne avec des espaces vides lorsque le temps d’inactivité est inférieur à une minute.

2. Rédiger des scripts de surveillance en supprimant l’en-tête et en simplifiant la sortie (-h, -s)
La commande w -h masque le résumé d’activité du système situé en haut ainsi que la ligne d’en-tête de chaque colonne pour n’afficher que les lignes de session utilisateur brutes.
Cette option est très fréquemment utilisée dans les scripts pour extraire le nombre de connectés ou parser les données d’un utilisateur spécifique sans lignes superflues.
Aucun utilisateur n’étant actuellement connecté au système, un résultat vide est renvoyé.

La commande w -s modifie le format d’affichage pour adopter un format court (short) et synthétique.
Les colonnes de l’heure de connexion (LOGIN@), JCPU et PCPU présentes dans la sortie par défaut sont supprimées, ce qui permet de consulter de manière compacte les informations essentielles telles que la session, la source, le temps d’inactivité (IDLE) et la commande exécutée (WHAT), même sur des terminaux à largeur réduite.

La commande w -hs combine l’option de suppression d’en-tête (-h) et l’option de format court (-s).
En éliminant à la fois l’en-tête et les champs non essentiels, elle permet d’obtenir directement les lignes de données de session critiques, ce qui s’avère particulièrement pratique pour l’automatisation de la surveillance via des scripts shell.
Puisqu’aucun utilisateur n’est connecté pour le moment, la commande se termine sans afficher de contenu.

3. Filtrer par utilisateur spécifique et contrôler l’affichage de l’adresse IP (-i, ciblage utilisateur)
Afin d’illustrer le filtrage par utilisateur, nous vérifions le compte actuellement connecté avec la commande whoami et le stockons dans la variable CURRENT_USER.

La commande w "$CURRENT_USER" filtre et affiche uniquement les informations de session correspondant au compte utilisateur spécifié.
Cela est particulièrement utile dans les environnements multi-utilisateurs à fort trafic pour suivre rapidement l’activité ou le temps d’inactivité d’un utilisateur précis.

La commande w -i force l’affichage de l’emplacement de connexion (FROM) sous forme d’adresse IP au lieu d’un nom d’hôte.
Elle permet d’éviter les ralentissements causés par les requêtes DNS inversées (Reverse DNS) et s’avère indispensable pour identifier avec certitude l’adresse IP de connexion distante.

4. Analyse comparative en pratique : différences entre w, who et uptime
La commande uptime affiche de manière concise sur une seule ligne l’heure actuelle du système, la durée de fonctionnement, le nombre d’utilisateurs connectés et la charge moyenne (Load Average) sur 1, 5 et 15 minutes.
Elle est idéale pour vérifier rapidement la santé globale du serveur et ses indicateurs de charge sans charger les détails des sessions utilisateur.

La commande who -u affiche la liste des utilisateurs actuellement connectés au système, leurs terminaux, l’heure de connexion, leur temps d’inactivité (idle time) ainsi que l’identifiant du processus (PID).
Elle est particulièrement adaptée lorsque l’on souhaite se concentrer sur l’identification des sessions de connexion sans inclure la charge système ni les commandes exécutées.
Aucune session active n’étant présente, le résultat affiché est vide.

La commande w associe les informations de charge système de uptime à la liste des sessions de who, tout en fournissant des détails exhaustifs sur les tâches en cours d’exécution (WHAT) de chaque utilisateur et leur utilisation CPU.
La charge moyenne s’affiche en haut tandis que la liste détaillée des sessions apparaît en bas, permettant de corréler et d’analyser simultanément la charge du serveur et l’activité des utilisateurs sur un seul écran.

Nous avons vu comment exploiter la commande w pour surveiller et analyser en un coup d’œil les utilisateurs connectés sous Linux ainsi que la charge du serveur.
N’hésitez pas à intégrer cette commande dans vos routines de contrôle habituelles lors de la maintenance de serveurs ou de la résolution d’incidents techniques en production.