Liên hệProfile
Danh mục

Mục Lục

    Lệnh watch Linux là gì? Cách sử dụng watch giám sát lệnh theo thời gian thực

    Nguyễn Hưng

    Ngày đăng:

    30/10/2025

    Cập nhật lần cuối:

    30/10/2025

    Lượt xem:
    Chia sẻ
    Đánh giá
    Đánh giá bài viết

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    30/10/2025

    Cập nhật lần cuối:

    30/10/2025

    Mục lục

    Lệnh watch Linux là một công cụ dòng lệnh mạnh mẽ giúp bạn tự động thực thi lặp lại một lệnh bất kỳ theo chu kỳ. Thay vì phải gõ lại lệnh liên tục để xem sự thay đổi, watch sẽ cập nhật kết quả ngay trên màn hình của bạn. Bài viết này sẽ hướng dẫn bạn chi tiết cú pháp, các tùy chọn quan trọng và những ví dụ thực tế để bạn làm chủ công cụ này.

    Những điểm chính

    • Khái niệm lệnh watch: Hiểu rõ lệnh watch là gì và cách watch giúp tự động hóa việc giám sát các thay đổi hệ thống theo thời gian thực.
    • Các tùy chọn quan trọng: Nắm vững các tùy chọn như -n (thay đổi tần suất), -d (tô sáng thay đổi), -c (giữ màu sắc) để tùy chỉnh và nâng cao hiệu quả giám sát.
    • Kịch bản ứng dụng thực tế: Thấy được các ví dụ thực tế để áp dụng watch vào việc giám sát kết nối mạng, file log, tải hệ thống,…
    • Giải đáp thắc mắc thường gặp về cách kết hợp lệnh, tự động kết thúc và giảm tải cho hệ thống khi sử dụng watch.

    Lệnh watch Linux là gì?

    Lệnh watch trong Linux là một tiện ích dòng lệnh cho phép bạn thực thi một lệnh hoặc chương trình lặp đi lặp lại theo một khoảng thời gian nhất định và hiển thị kết quả cập nhật theo thời gian thực trên terminal. Mục đích chính của watch là cho phép giám sát theo thời gian thực các kết quả đầu ra thường xuyên thay đổi, chẳng hạn như tài nguyên hệ thống, các tệp nhật ký (log), hoặc trạng thái tiến trình. Theo mặc định, watch sẽ làm mới kết quả sau mỗi 2 giây, cung cấp một cái nhìn liên tục được cập nhật cho đến khi người dùng dừng lại.

    Khái niệm lệnh watch Linux
    Khái niệm lệnh watch Linux

    Cú pháp cơ bản của lệnh watch:

    watch [tùy_chọn] [lệnh_cần_thực_thi]

    Trong đó:

    • [tùy_chọn]: Các cờ để thay đổi hành vi của watch, chẳng hạn như khoảng thời gian làm mới.
    • [lệnh_cần_thực_thi]: Lệnh bạn muốn watch chạy lặp đi lặp lại. Nếu lệnh chứa các ký tự đặc biệt như chuyển hướng (>), dấu &&. hoặc đường ống (|), bạn nên đặt lệnh trong dấu nháy đơn ‘ ‘.

    Các tùy chọn watch Linux phổ biến nhất

    Bảng dưới đây liệt kê các tùy chọn phổ biến và hữu ích nhất của lệnh watch.

    Tùy chọnChức năngVí dụ
    -n <giây> hoặc --interval=<giây>Thiết lập khoảng thời gian cập nhật giữa các lần chạy lệnh (đơn vị: giây). Mặc định là 2 giây.watch -n 5 date (Chạy lệnh date mỗi 5 giây).
    -d hoặc --differencesĐánh dấu (highlight) sự khác biệt giữa lần cập nhật hiện tại và lần cập nhật trước.watch -d free -m (Tô sáng các thay đổi trong việc sử dụng bộ nhớ).
    -t hoặc --no-titleẨn tiêu đề (bao gồm thông tin về khoảng thời gian, lệnh và thời gian hiện tại) ở đầu ra.watch -t date (Chỉ hiển thị kết quả của lệnh date).
    -b hoặc --beepPhát ra tiếng beep khi lệnh trả về mã thoát khác 0 (tức là có lỗi xảy ra).watch -b 'grep "ERROR" /var/log/app.log' (Bíp nếu tìm thấy lỗi).
    -p hoặc --preciseCố gắng chạy lệnh ở thời điểm chính xác nhất có thể so với khoảng thời gian đã chỉ định, tránh sự chậm trễ tích lũy.watch -n 1 -p "date" (Đảm bảo lệnh chạy gần chính xác 1 giây một lần).
    -e hoặc --errexitThoát khỏi watch ngay lập tức nếu lệnh trả về mã thoát khác 0.watch -e cat /etc/passwd (Nếu file /etc/passwd không tồn tại, watch sẽ dừng lại).
    -g hoặc --chgexitThoát khỏi watch khi đầu ra của lệnh thay đổi.watch -g 'ls -l' (Thoát ngay khi có file mới được tạo hoặc thay đổi).
    -c hoặc --colorHiển thị đúng các mã màu và kiểu ANSI trong kết quả đầu ra.watch -c 'ls -l --color=always' (Hiển thị kết quả ls có màu).
    -x hoặc --execThực thi lệnh bằng exec, không thông qua sh -c.watch -x 'ps aux' (Thực thi trực tiếp lệnh ps aux).

    Dưới đây là một số cách watch được sử dụng trong thực tế để giám sát hệ thống:

    Giám sát tài nguyên hệ thống (RAM)

    Lệnh này hiển thị dung lượng RAM trống và đã sử dụng, cập nhật mỗi giây, giúp bạn nhanh chóng phát hiện các vấn đề về bộ nhớ:

    watch -n 1 free -m
    Giám sát tài nguyên hệ thống
    Giám sát tài nguyên hệ thống

    Theo dõi sự thay đổi của file log

    Lệnh dưới đây hiển thị 10 dòng cuối cùng của file log Nginx. Tùy chọn -d sẽ tô sáng các dòng log mới khi chúng xuất hiện:

    watch -d -n 1 'tail -n 10 /var/log/nginx/access.log'

    Quan sát tải của hệ thống (Load Averages)

    Bạn chạy lệnh sau để xem tải trung bình của hệ thống (load average) thay đổi theo thời gian:

    watch uptime
    Quan sát tải của hệ thống bằng watch Linux
    Quan sát tải của hệ thống

    Giám sát số lượng kết nối mạng

    Lệnh sau giúp đếm và hiển thị số lượng kết nối đang ở trạng thái ESTABLISHED, cập nhật mỗi giây, rất hữu ích để theo dõi lưu lượng truy cập vào máy chủ:

    watch -n 1 'ss -an | grep ESTAB | wc -l'
    Giám sát số lượng kết nối mạng
    Giám sát số lượng kết nối mạng

    Theo dõi các tiến trình của một người dùng cụ thể

    Bạn chạy lệnh sau để liệt kê tất cả các tiến trình đang chạy bởi người dùng (ví dụ: nginx) và cập nhật liên tục.

    watch 'ps -U www -f'
    Theo dõi các tiến trình của một người dùng cụ thể
    Theo dõi các tiến trình của một người dùng cụ thể

    Giám sát nhiệt độ CPU

    Nếu hệ thống của bạn có cài đặt sensors, lệnh này sẽ theo dõi nhiệt độ CPU và tô sáng sự thay đổi.

    watch -n 1 -d sensors

    Câu hỏi thường gặp

    Có thể kết hợp lệnh watch với grep để lọc tiến trình theo từ khóa không?

    Hoàn toàn được, ví dụ: watch "ps aux | grep nginx" sẽ chỉ hiển thị các tiến trình liên quan đến nginx theo thời gian thực

    Làm thế nào để lệnh watch tự động kết thúc khi có sự thay đổi kết quả?

    Bạn sử dụng tùy chọn -g, ví dụ: watch -g "ls /tmp" sẽ tự động thoát nếu có thêm hoặc mất file trong /tmp.

    Làm thế nào để giảm tải cho hệ thống khi dùng watch tần suất cao?

    Bạn giảm tần suất lặp lại bằng tham số -n, ví dụ: watch -n 10 'ps aux' sẽ chỉ cập nhật mỗi 10 giây, giảm tiêu tốn tài nguyên đáng kể.

    Muốn làm nổi bật phần thay đổi giữa các lần cập nhật kết quả, phải làm sao?

    Bạn sử dụng thêm tùy chọn -d. Ví dụ: watch -d 'ps aux' sẽ giúp bạn thấy rõ tiến trình nào thay đổi trạng thái hoặc tài nguyên.

    Cách dừng lệnh watch như thế nào?

    Để dừng quá trình giám sát của watch và quay trở lại dòng lệnh, bạn chỉ cần nhấn tổ hợp phím Ctrl + C.

    Tóm lại, bài viết đã cung cấp cái nhìn chi tiết về lệnh watch Linux và hướng dẫn cụ thể cách bạn có thể sử dụng lệnh này để giám sát đầu ra của bất kỳ lệnh nào theo thời gian thực. Đây là công cụ hữu ích giúp bạn theo dõi trạng thái hệ thống, tài nguyên hoặc các quá trình đang chạy mà không cần lặp đi lặp lại lệnh theo cách thủ công.

    Đánh giá bài viết
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn kỹ thuật backup dữ liệu real-time bằng cách kết hợp tar và netcat
    Hướng dẫn kỹ thuật backup dữ liệu real-time bằng cách kết hợp tar và netcat

    Kỹ thuật nén và chuyển file backup real-time bằng tar nc là phương pháp sử dụng hai công cụ dòng lệnh phổ biến trong hệ điều hành Linux để nén dữ liệu và truyền trực tiếp giữa hai máy chủ mà không cần tạo ra file trung gian trên server nguồn. Trong bài viết này,…

    30/10/2025

    Hướng dẫn sao lưu dữ liệu trực tiếp qua mạng bằng tar qua SSH khi server đầy bộ nhớ
    Hướng dẫn sao lưu dữ liệu trực tiếp qua mạng bằng tar qua SSH khi server đầy bộ nhớ

    Khi ổ cứng đầy, giải pháp tốt nhất là bạn nên kết hợp tar và ssh để tạo một pipepline truyền dữ liệu trực tiếp qua mạng mà không cần lưu trữ trung gian. Bài viết này sẽ hướng dẫn chi tiết từng bước thực hiện backup bằng tar SSH trong điều kiện tài nguyên…

    30/10/2025

    Cách dùng Multitail để phân tích và đọc log chính xác, đơn giản
    Cách dùng Multitail để phân tích và đọc log chính xác, đơn giản

    Multitail là một công cụ dòng lệnh mạnh mẽ trên Linux giúp hiển thị nhiều file log hoặc output của nhiều lệnh khác nhau trên cùng một màn hình terminal, với khả năng chia nhỏ cửa sổ linh hoạt và các tính năng vượt trội so với lệnh tail truyền thống. Trong bài viết này,…

    30/10/2025

    Hướng dẫn chi tiết về lệnh Yum trong Linux: Từ cơ bản đến nâng cao
    Hướng dẫn chi tiết về lệnh Yum trong Linux: Từ cơ bản đến nâng cao

    Lệnh yum trong Linux là công cụ quản lý gói phần mềm mạnh mẽ, sử dụng giao diện dòng lệnh, giúp người dùng dễ dàng cài đặt, cập nhật, gỡ bỏ và kiểm soát các ứng dụng trên hệ điều hành Linux dựa trên nền tảng RPM như CentOS, RHEL và Fedora. Trong bài viết…

    30/10/2025