Linux의 watch 명령어는 단 하나의 기능을 수행합니다. 지정한 명령어를 반복 실행하고 그 결과를 계속 출력하여 변화를 실시간으로 모니터링할 수 있게 해주는 것입니다. 이 글에서는 watch 명령어의 기본 문법부터 다양한 옵션과 실전 활용 예제까지 자세히 알아보겠습니다.
watch 명령어 기본 문법
watch 명령어의 기본 문법은 다음과 같습니다.
watch OPTIONS COMMAND
각 구성 요소는 아래와 같습니다.
- OPTIONS(옵션): 아래 표에 정리된 옵션 목록으로, watch 명령어의 기본 동작 방식을 변경할 수 있습니다.
- COMMAND(명령어): watch가 반복 실행할 명령어로, 그 출력 결과를 모니터링하게 됩니다.
- watch는 사용자가 중단할 때까지 계속 실행됩니다. 종료하려면 CTRL+C를 누르세요.
자주 사용하는 옵션
watch 명령어에서 자주 쓰이는 주요 옵션은 다음과 같습니다.
| 옵션 | 설명 |
|---|---|
| -n | 명령어를 실행할 간격을 초 단위로 지정합니다. |
| -d | 연속된 업데이트 사이의 변경된 부분을 강조 표시합니다. |
| --differences=cumulative | 처음 실행 이후 변경된 모든 위치를 누적해서 화면에 표시합니다. |
watch 명령어의 전체 사용 설명서는 아래 명령어로 확인할 수 있습니다.
man watch
Linux watch 명령어 실전 예제
watch 명령어의 유용성을 가장 잘 보여주는 예제는 date 명령어와 free 명령어와 함께 사용하는 것입니다.
1. date 명령어와 함께 사용하기
date 명령어는 현재 날짜와 시간을 한 번 출력하고 종료됩니다. 하지만 watch 명령어와 결합하면 watch가 date 명령어를 계속 반복 실행하면서 현재 날짜와 시간을 실시간으로 갱신해 보여줍니다.
watch date
실행하면 아래와 같은 화면을 볼 수 있습니다.

화면 왼쪽 상단에는 watch가 실행 중이라는 표시와 함께 date 명령어를 2초마다 실행한다는 정보가 나타납니다. 바로 아래에는 마지막으로 명령어가 실행된 시각이 표시됩니다. 두 번째 줄에는 date 명령어의 출력 결과가 나타나며, 명령어가 실행될 때마다 새로 고침됩니다.
2. free 명령어와 함께 사용하기
free 명령어는 시스템의 메모리 사용량을 출력합니다. watch 명령어와 결합하면 컴퓨터의 메모리 사용 현황을 실시간으로 확인할 수 있습니다.
watch free

마찬가지로 왼쪽 상단에 watch가 free 명령어를 2초마다 실행한다는 정보가 표시되고, 오른쪽 상단에는 현재 날짜와 시간, 호스트 이름이 나타납니다.
그 아래에는 free 명령어의 출력 결과가 표시되며, watch가 명령어를 반복 실행할 때마다 2초 간격으로 업데이트됩니다.
실행 간격 지정하기 (-n 옵션)
기본적으로 watch는 지정된 명령어를 2초마다 실행하고 결과를 출력합니다. 이 간격은 -n 옵션으로 변경할 수 있습니다.
watch -n 5 free
위 명령어는 앞선 예제와 동일하게 동작하지만, 2초가 아닌 5초마다 명령어를 실행합니다.
변경 사항 추적하기 (-d 옵션)
실행할 때마다 출력 값 중 어떤 부분이 변하는지 확인하고 싶다면 -d 옵션을 사용하세요.
watch -d free

이전 실행 이후 변경된 문자들이 강조 표시되므로, 시스템 서비스의 상태를 모니터링할 때 매우 유용합니다.
만약 마지막 실행이 아닌 처음 실행 이후의 모든 변경 사항을 확인하고 싶다면 아래와 같이 입력하세요.
watch --differences=cumulative free
watch 명령어는 로그 파일 감시, 디스크 사용량 확인, 네트워크 상태 점검 등 다양한 상황에서 활용할 수 있는 강력한 도구입니다. 위 예제들을 직접 따라 해보며 실시간 모니터링의 편리함을 경험해 보시기 바랍니다.