Lệnh watch trong Linux làm một việc – lặp lại một lệnh và xuất kết quả lặp đi lặp lại, cho phép bạn theo dõi sự thay đổi. Đây là cách dùng nó.
Cú Pháp Lệnh watch
Cú pháp cho lệnh watch như sau:
watch OPTIONS COMMAND
Lưu ý rằng:
- OPTIONS nên là danh sách các tùy chọn từ bảng dưới đây, sẽ thay đổi hành vi mặc định của lệnh watch
- COMMAND là lệnh mà watch nên thực thi lặp đi lặp lại, mà bạn sẽ theo dõi đầu ra của nó
- watch sẽ chạy cho đến khi bị ngắt (Vì vậy nhấn CTRL+C để thoát nó)
Tùy Chọn
Dưới đây là các tùy chọn thường dùng cho lệnh watch:
| Tùy chọn | Mô tả |
|---|---|
| -n | Chỉ định khoảng thời gian lệnh nên chạy (giây) |
| -d | Làm nổi bật sự khác biệt giữa các lần cập nhật liên tiếp |
| –differences=cumulative | Hiển thị tích lũy tất cả vị trí đã thay đổi |
Bạn có thể xem hướng dẫn sử dụng đầy đủ cho lệnh watch bằng cách chạy:
man watch
Ví Dụ Lệnh Watch Linux
Có lẽ ví dụ hiệu quả nhất về tính hữu ích của lệnh watch là dùng nó với lệnh date và free.
Lệnh date trả về ngày giờ hiện tại và thoát. Khi kết hợp với lệnh watch, bạn sẽ có cập nhật liên tục của ngày giờ hiện tại, vì lệnh watch sẽ lặp lại thực thi lệnh date và in đầu ra của nó:
watch date
Bạn sẽ thấy kiểu như dưới đây:

Bạn có thể thấy watch đang chạy, hiển thị rằng nó thực thi lệnh date mỗi 2 giây (thấy ở góc trên bên trái), cùng với thời gian watch lần cuối thực thi lệnh cho trước. Sau đó ở dòng thứ hai, ta thấy đầu ra của lệnh date, được làm mới mỗi lần lệnh chạy.
Lệnh free in ra lượng bộ nhớ khả dụng trên máy tính của bạn. Kết hợp với lệnh watch, bạn có thể thấy xem trực tiếp việc sử dụng bộ nhớ của máy tính:
watch free

Lại một lần, bạn thấy watch đang thực thi lệnh free mỗi 2 giây, như hiển thị ở góc trên bên trái. Ngày giờ hiện tại, cùng với hostname, được hiển thị ở góc trên bên phải.
Dưới đó, bạn thấy đầu ra của lệnh free, được cập nhật mỗi 2 giây khi watch lặp lại chạy lệnh và lấy đầu ra của nó.
Chỉ Định Khoảng Thời Gian
Mặc định, watch sẽ chạy lệnh được cung cấp và in đầu ra của nó mỗi 2 giây. Điều này có thể thay đổi bằng tùy chọn -n:
watch -n 5 free
Lệnh trên sẽ làm chính xác điều trong ví dụ trước nhưng thực thi mỗi 5 giây thay vì mỗi 2 giây.
Theo Dõi Sự Khác Biệt
Nếu bạn muốn xem giá trị nào trong đầu ra đang thay đổi giữa mỗi lần thực thi, dùng tùy chọn -d:
watch -d free

Các ký tự đã thay đổi trong đầu ra kể từ lần chạy trước được làm nổi bật – có thể hữu ích để theo dõi trạng thái dịch vụ hệ thống.
Nếu bạn muốn xem sự khác biệt trong đầu ra kể từ lần chạy đầu tiên thay vì từ lần chạy trước:
watch --differences=cumulative free