linux watch

c shell에는 repeat라는, 특정 커맨드를 반복해서 실행 할 수 있는 명령어가 있다(아마, 내장 커맨드였던가?). 꽤 유용하게 썼던 기억이 있다.

리눅스에도 비슷한 커맨드가 있는데, 바로 watch다.

사용법은 간단하다.

예를 들어서, 대용량 화일을 복사한다고 하자. 그러면 얼마나 복사되었는지 확인하려고, ls 나 df 같은 커맨드를 주기적(?)으로 실행하게 될 것이다. 그건 너무 귀찮지 않은가? 그럴 때 바로 watch를 사용한다.

#watch -d -n 5 ls -alh

Every 5.0s: ls -alh Tue Mar 20 01:18:04 2012

total 65G
drwxr-xr-x 2 root root 4.0K 2012-03-15 18:31 .
drwxr-xr-x 5 root root 4.0K 2012-03-20 00:29 ..
-rwxr-xr-x 1 root root 24G 2012-03-20 00:47 cent57.vimg
-rwxr-xr-x 1 root root 12G 2012-03-19 23:20 solaris10.vimg
-rwxr-xr-x 1 root root 12G 2012-03-10 19:22 ubuntu.vimg
-rwxr-xr-x 1 root root 24G 2012-03-20 00:57 win7.vimg
-rwxr-xr-x 1 root root 22G 2012-03-20 00:29 xp.vimg

-d 옵션은 이전과 다른 부분이 있다면 하이라이트로 표시해주는 옵션이며, -n 5 는 5초 간격으로 명령어(ls -alh)를 실행하라는 뜻이다.

단점이 있다면, 사용자 인터럽트를 받을때 까지 계속 실행된다는 것이다. 즉, 중지는 사용자가 직접 해야한다는 뜻.

답글 남기기

Your email address will not be published.