Usuários conectados e carga do servidor em um só relance! Guia prático definitivo do comando w no Linux

Visão Geral

No monitoramento de servidores e no gerenciamento de sessões de usuários, o comando w é uma ferramenta essencial para identificar instantaneamente os usuários conectados no momento e a carga do sistema (Load Average). Neste artigo, veremos passo a passo desde a interpretação da saída padrão do comando w até as combinações de opções mais utilizadas na prática, além das diferenças em relação ao who e ao uptime.

1. Identificando usuários conectados e a carga do sistema de relance: execução básica do w

Para comparar e verificar o tempo de atividade do sistema e as informações de carga, idênticas à primeira linha de saída do comando w, executamos o comando uptime.

uptime

O comando w é utilizado para verificar de relance os usuários atualmente conectados ao sistema, as tarefas que cada usuário está executando e o status da carga do sistema.
A primeira linha da saída exibe a hora atual, o tempo de atividade do sistema (uptime), o número de usuários conectados e a média de carga (Load Average) nos últimos 1, 5 e 15 minutos. A partir da segunda linha, são exibidas informações detalhadas da sessão de cada usuário.
⚙️ [Principais Opções]

-h, --no-header : Oculta o cabeçalho (informações de carga no topo e títulos dos campos), exibindo apenas a lista de usuários.
-s, --short : Utiliza o formato de saída curto, omitindo os campos de horário de login, JCPU e PCPU.
-f, --from : Alterna (toggle) a exibição do campo FROM, que mostra o endereço IP de origem ou o nome do host da conexão.
-i, --ip-addr : Exibe o local de conexão em formato de endereço IP em vez de nome de host.
-o, --old-style : Usa o formato de saída em branco no estilo antigo, deixando em branco caso o tempo de inatividade seja inferior a 1 minuto.

w

2. Omitindo o cabeçalho e simplificando a saída para scripts de monitoramento (-h, -s)

O comando w -h omite as informações resumidas de tempo de atividade no topo e as linhas de cabeçalho de cada coluna, exibindo puramente a lista de sessões dos usuários.
É frequentemente utilizado para excluir linhas de cabeçalho desnecessárias ao fazer parsing do número de usuários conectados ou de informações de um usuário específico em scripts.
Como atualmente não há usuários conectados ao sistema, um resultado vazio é retornado.

w -h

O comando w -s altera o formato de saída para o modo resumido e curto (short).
Os campos de horário de login (LOGIN@), JCPU e PCPU presentes na saída padrão são omitidos, permitindo verificar de forma concisa informações essenciais como sessão, origem, tempo de inatividade (IDLE) e o comando em execução (WHAT), mesmo em terminais de largura reduzida.

w -s

O comando w -hs combina a opção de omissão do cabeçalho superior (-h) com a opção de simplificação de saída (-s).
Ao remover o cabeçalho e todos os campos desnecessários, obtém-se diretamente apenas as linhas de dados essenciais da sessão, o que é extremamente útil para a automação de monitoramento com shell scripts.
Como não há usuários conectados no momento, o comando finaliza sem exibir nenhum conteúdo.

w -hs

3. Consultando um usuário específico e controlando a exibição de endereços IP (-i, especificação de usuário)

Para praticar a filtragem por usuário específico, verificamos o nome da conta conectada no momento com o comando whoami e o armazenamos na variável CURRENT_USER.

CURRENT_USER=$(whoami)

O comando w "$CURRENT_USER" filtra e exibe apenas as informações de sessão da conta de usuário especificada.
Isso é útil em ambientes multiusuário com muitas conexões para rastrear rapidamente o histórico de tarefas ou o tempo de inatividade de um usuário específico.

w “$CURRENT_USER”

O comando w -i força a exibição do local de conexão (FROM) em formato de endereço IP em vez de nome de host.
É utilizado para evitar atrasos causados pela resolução reversa de DNS (Reverse DNS) e quando é necessário confirmar o endereço IP remoto exato da conexão.

w -i

4. Análise comparativa prática: resumo das diferenças entre w vs who vs uptime

O comando uptime exibe de forma concisa em uma única linha a hora atual do sistema, o tempo de funcionamento (uptime), a contagem atual de usuários conectados e a média de carga (Load Average) nos últimos 1, 5 e 15 minutos.
É útil quando se deseja verificar rapidamente apenas os indicadores de carga e o estado geral de funcionamento do servidor, sem informações detalhadas da sessão por usuário.

uptime

O comando who -u exibe a lista de usuários conectados no momento ao sistema, informações de terminal, horário de login, tempo ocioso (idle time) e o ID do processo (PID).
É ideal para focar na identificação de sessões conectadas, excluindo a carga do sistema e os comandos que os usuários estão executando.
Como atualmente não há sessões ativas conectadas, uma saída vazia é exibida.

who -u

O comando w combina o resumo de carga do sistema do uptime com a lista de sessões de usuários do who, exibindo de maneira abrangente a tarefa que cada usuário está executando (WHAT) e o uso de CPU.
A média de carga do sistema é mostrada na parte superior e o cabeçalho da lista de sessões aparece na parte inferior, permitindo comparar e analisar simultaneamente a carga do servidor e a atividade dos usuários em uma única tela.

w

Até aqui, vimos como utilizar o comando w para verificar e analisar de relance os usuários conectados e o status de carga do servidor no Linux.
Recomendamos integrá-lo à sua rotina básica de verificação prática durante a inspeção de servidores ou a resolução de problemas.