본문 바로가기
OS/Linux

[Linux] watch 명령어 : 실시간 모니터링

by Yoon_estar 2025. 2. 9.
728x90

개요

Linux에서 watch 명령어는 간단하면서도 강력한 도구로, 특정 명령어를 일정 간격으로 반복 실행하며 출력 결과를 실시간으로 모니터링할 수 있습니다. 시스템 상태를 확인하거나 프로세스의 변화를 추적하는 데 매우 유용합니다.

 

watch 명령어란?

watch 명령어는 지정한 프로그램 또는 명령어를 일정 간격으로 실행하여 그 결과를 터미널 화면에 갱신해주는 도구입니다. 기본 실행 간격은 2초이며, 이를 조정하여 시스템 리소스, 파일 내용, 프로세스 상태 등의 변화를 실시간으로 확인할 수 있습니다.

 

watch 명령어 기본 구문

# watch [옵션] 명령어

 

  • 명령어 : 반복해서 실행할 명령어
  • 옵션 : watch의 동작 방식을 변경하는 추가 플래그

 

주요 옵션

-n 또는 --interval

  • 명령어 실행 간격(초)을 지정
# watch -n 5 명령어
# watch -n 5 ls

 

-d 또는 --differences

  • 연속된 출력 결과 간의 차이점을 강조 표시합니다. 변경 사항을 빠르게 확인할 때 유용합니다. 
# watch -d df -Th

 

-p 또는 --precise

 

  • 명령어 실행 시간을 보정하여 정확한 주기를 유지합니다.

-t 또는 --no-title

  • 출력 화면 상단의 헤더(간격, 타임스탬프)를 숨깁니다. 깔끔한 출력이 필요할 때 사용합니다.

 

실용적인 활용 사례

디스크 사용량 모니터링(디스크 용량 변화를 실시간으로 추적 )

# watch -d df -Th

 

 

CPU 및 시스템 메모리 상태 확인(CPU 및 메모리 사용량을 동적으로 확인)

# watch -n 1 free -h

 

네트워크 상태 모니터링(네트워크 인터페이스 트래픽 관찰)

# watch -d ifconfig eth0

 

파일 내용 변화 추적( 특정 파일의 크기 변화를 모니터링 )

# watch -n 1 ls -lh /var/log/syslog

 

프로세스 상태 확인(특정 프로세스가 실행 중인지 확인)

# watch -n 2 "ps aux | grep apache2"

 

디렉터리 내용 실시간 업데이트(디렉터리의 파일 목록을 동적으로 확인)

# watch -n 1 ls -l

 

다른 명령어와의 조합

  • 활성화된 네트워크 연결 추적
# watch -n 5 "netstat -an | grep ESTABLISHED"

 

  • 업데이트 가능한 패키지 확인
# watch -n 3600 apt list --upgradable

 

  • 특정 프로세스의 메모리 사용량 추적
# watch -n 2 "ps aux | grep process_name"