리눅스 접속자와 서버 부하를 한눈에! w 명령어 실무 활용법 완벽 가이드

개요

서버 모니터링 및 사용자 세션 관리에서 w 명령어는 현재 접속 중인 사용자와 시스템 부하(Load Average)를 즉시 파악할 수 있는 핵심 도구입니다. 본 글에서는 w 명령어의 기본 출력 해석부터 실무에서 자주 쓰이는 옵션 조합, 그리고 who/uptime과의 차이점까지 단계별로 살펴봅니다.

1. 현재 접속자 및 시스템 부하 한눈에 파악하기: 기본 w 실행

w 명령어의 첫 줄 출력 결과와 동일한 시스템 가동 시간 및 부하 정보를 비교 확인하기 위해 uptime 명령어를 실행합니다.

uptime

w 명령어는 현재 시스템에 로그인한 사용자와 각 사용자가 수행 중인 작업, 그리고 시스템 부하 상태를 한눈에 파악할 때 사용합니다.
출력 첫 번째 줄에는 현재 시각, 시스템 가동 시간, 접속자 수, 최근 1분·5분·15분간의 부하 평균(Load Average)이 표시되며, 두 번째 줄부터는 각 사용자의 상세 세션 정보가 출력됩니다.
⚙️ [주요 옵션]

-h, --no-header : 헤더(상단 부하 정보 및 필드 제목)를 출력하지 않고 사용자 목록만 표시합니다.
-s, --short : 출력 형식을 짧게 변경하여 로그인 시간, JCPU, PCPU 필드를 생략합니다.
-f, --from : 접속 출발지 IP 주소나 호스트명을 표시하는 FROM 필드의 출력 여부를 전환(토글)합니다.
-i, --ip-addr : 호스트명 대신 IP 주소 형식으로 접속 위치를 표시합니다.
-o, --old-style : 이전 방식의 공백 출력 형식을 사용하여 유휴 시간이 1분 미만인 경우 빈칸으로 표시합니다.

w

2. 헤더 생략 및 출력 간소화로 모니터링 스크립트 작성하기 (-h, -s)

w -h 명령어는 상단의 시스템 가동 시간 요약 정보와 각 컬럼의 헤더 줄을 생략하고 순수 사용자 세션 목록만 출력합니다.
스크립트에서 접속자 수나 특정 사용자 정보를 파싱할 때 불필요한 헤더 라인을 제외하기 위한 목적으로 자주 활용됩니다.
현재 시스템에 로그인된 사용자가 없으므로 빈 결과가 반환되었습니다.

w -h

w -s 명령어는 요약 형태의 짧은(short) 포맷으로 출력 형식을 변경합니다.
기본 출력에 포함되는 로그인 시각(LOGIN@), JCPU, PCPU 항목이 생략되어 터미널 폭이 좁은 환경에서도 주요 정보인 세션, 출발지, 유휴 시간(IDLE), 실행 명령어(WHAT)를 간결하게 확인할 수 있습니다.

w -s

w -hs 명령어는 상단 헤더 요약 생략 옵션(-h)과 출력 간소화 옵션(-s)을 결합하여 실행합니다.
헤더와 불필요한 필드를 모두 제거한 채 핵심 세션 데이터 라인만 바로 얻을 수 있어 쉘 스크립트 기반 모니터링 자동화에 매우 유용합니다.
현재 접속 중인 사용자가 없기 때문에 아무 내용도 표시되지 않고 종료됩니다.

w -hs

3. 특정 사용자 조회 및 IP 주소 표시 제어 (-i, 사용자 지정)

특정 사용자 필터링 실습을 위해 whoami 명령어로 현재 로그인한 계정명을 확인하여 CURRENT_USER 변수에 저장합니다.

CURRENT_USER=$(whoami)

w "$CURRENT_USER" 명령어는 지정한 사용자 계정의 접속 세션 정보만 선별하여 출력합니다.
접속자가 많은 다중 사용자 환경에서 특정 사용자의 작업 내역이나 유휴 시간을 빠르게 추적할 때 유용합니다.

w “$CURRENT_USER”

w -i 명령어는 접속 위치(FROM)를 호스트 이름 대신 IP 주소 형식으로 고정하여 출력합니다.
DNS 역방향 조회(Reverse DNS)로 인한 지연을 방지하고 정확한 원격 접속 IP 주소를 확인해야 할 때 활용됩니다.

w -i

4. 실무 비교 분석: w vs who vs uptime 차이점 정리

uptime 명령어는 시스템의 현재 시각, 가동 시간, 현재 접속자 수, 그리고 최근 1분·5분·15분간의 부하 평균(Load Average)을 한 줄로 간결하게 출력합니다.
사용자별 상세 세션 정보 없이 서버의 전반적인 가동 상태와 부하 지표만 빠르게 점검하고자 할 때 유용합니다.

uptime

who -u 명령어는 현재 시스템에 로그인한 사용자 목록과 터미널 정보, 로그인 시각 및 유휴 시간(idle time), 프로세스 ID(PID)를 출력합니다.
시스템 부하나 사용자가 실행 중인 명령어 정보는 제외하고 접속 세션 식별에 집중하고자 할 때 적합합니다.
현재 접속 중인 세션이 존재하지 않아 빈 결과가 출력되었습니다.

who -u

w 명령어는 uptime의 시스템 부하 요약 정보와 who의 접속자 세션 목록을 결합하여, 각 사용자가 수행 중인 작업(WHAT)과 CPU 사용량까지 종합적으로 출력합니다.
상단에는 시스템 부하 평균이 표시되고 하단에는 세션 목록 헤더가 나타나며, 서버 부하와 접속자 활동 내역을 단일 화면에서 동시에 비교 분석할 수 있습니다.

w

지금까지 w 명령어를 활용해 리눅스 접속자와 서버 부하 상태를 한눈에 확인하고 분석하는 방법을 살펴보았습니다.
실무에서 서버 점검이나 장애 대응 시 기본 점검 루틴으로 유용하게 활용해 보시기 바랍니다.