Lệnh watch trong linux với các ví dụ dễ hiểu

Lệnh watch trong Linux giúp bạn theo dõi kết quả của một lệnh khác theo thời gian thực, rất hữu ích để giám sát các thay đổi. Nó sẽ tự động chạy lại lệnh bạn chỉ định sau một khoảng thời gian nhất định, thường là 2 giây mặc định. Bạn có thể tùy chỉnh khoảng thời gian này để phù hợp với nhu cầu theo dõi của mình, giúp bạn dễ dàng quan sát.

Lệnh watch trong linux là gì?

Lệnh command watch in linux là một công cụ dòng lệnh mạnh mẽ, cho phép bạn theo dõi sự thay đổi của một lệnh hoặc tệp tin theo thời gian thực. Nó liên tục thực thi lệnh bạn chỉ định và hiển thị kết quả trên màn hình, giúp bạn dễ dàng quan sát các thay đổi. Bạn có thể tùy chỉnh khoảng thời gian giữa các lần thực thi lệnh bằng tùy chọn -n, ví dụ như mỗi 2 giây. Sử dụng watch rất hữu ích khi bạn cần theo dõi các tiến trình, nhật ký hệ thống hoặc bất kỳ thông tin nào thay đổi liên tục. Với watch, việc giám sát hệ thống trở nên đơn giản và hiệu quả hơn bao giờ hết.

Tìm hiểu về lệnh watch

Trong bước này, bạn sẽ tìm hiểu về lệnh watch trong Linux, cho phép bạn thực thi lặp lại một lệnh và theo dõi kết quả của nó.

Lệnh watch là một công cụ mạnh mẽ để giám sát và quản lý hệ thống, giúp theo dõi các thay đổi trong tiến trình, sửa đổi file và sự kiện thời gian thực.

Để bắt đầu sử dụng lệnh watch, bạn chỉ cần chạy lệnh sau trong terminal của mình:

watch [options] <command>

Ở đây, [options] là các tham số tùy chọn bạn có thể truyền cho lệnh watch, và <command> là lệnh bạn muốn thực thi và theo dõi.

Một số tùy chọn phổ biến cho lệnh watch bao gồm:

  • -n, --interval <seconds>: Đặt khoảng thời gian cập nhật cho việc thực thi lệnh (mặc định là 2 giây).
  • -d, --difference: Tô sáng sự khác biệt giữa các lần cập nhật liên tiếp.
  • -t, --no-title: Ẩn tiêu đề hiển thị thời gian hiện tại và lệnh đang được thực thi.

Ví dụ: để theo dõi đầu ra của lệnh df (hiển thị mức sử dụng ổ đĩa) sau mỗi 5 giây, bạn có thể chạy:

watch -n 5 df -h

Ví dụ về đầu ra:

Every 5.0s: df -h                                                   labex@ubuntu: Fri Apr 28 14:35:41 2023

Filesystem      Size  Used Avail Use% Mounted on
overlay         30G  4.2G   26G  14% /
tmpfs           64M     0   64M   0% /dev
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1       30G  4.2G   26G  14% /etc/hosts
shm              64M     0   64M   0% /dev/shm
overlay         30G  4.2G   26G  14% /etc/resolv.conf
overlay         30G  4.2G   26G  14% /etc/hostname
overlay         30G  4.2G   26G  14% /etc/host.conf
tmpfs           2.0G     0  2.0G   0% /proc/acpi
tmpfs           2.0G     0  2.0G   0% /proc/scsi
tmpfs           2.0G     0  2.0G   0% /sys/firmware

Lệnh watch sẽ liên tục thực thi lệnh df -h và hiển thị đầu ra, cập nhật nó sau mỗi 5 giây.

Theo dõi Tiến trình Hệ thống với watch

Trong bước này, bạn sẽ học cách dùng lệnh watch để theo dõi tiến trình hệ thống theo thời gian thực.

Lệnh watch có thể dùng cùng với lệnh ps (process status) để hiển thị liên tục thông tin về các tiến trình đang chạy trên hệ thống.

Để theo dõi tiến trình hệ thống bằng watch, hãy chạy lệnh sau:

watch -n 5 'ps aux'

Lệnh này sẽ thực thi lệnh ps aux mỗi 5 giây và hiển thị kết quả trong terminal của bạn. Lệnh ps aux hiển thị thông tin về tất cả tiến trình đang chạy, bao gồm user, process ID, CPU và mức sử dụng bộ nhớ, và lệnh đã khởi động tiến trình.

Bạn cũng có thể dùng lệnh watch với các lệnh liên quan đến tiến trình khác, ví dụ như top hoặc htop, để có cái nhìn chi tiết hơn về tiến trình hệ thống:

watch -n 5 top

Lệnh này sẽ hiển thị kết quả của lệnh top, cho thấy các tiến trình được sắp xếp theo mức sử dụng CPU hoặc bộ nhớ.

Ví dụ về kết quả:

Every 5.0s: top                                                     labex@ubuntu: Fri Apr 28 14:40:41 2023

top - 14:40:41 up 8 min,  0 users,  load average: 0.00, 0.00, 0.00
Tasks:  38 total,   1 running,  37 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :    1984.0 total,    1909.7 free,      29.3 used,      45.0 buff/cache
MiB Swap:       0.0 total,       0.0 free,       0.0 used.    1909.9 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0    8548   3292   2340 S   0.0   0.2   0:01.38 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp

Lệnh watch cho phép bạn liên tục theo dõi tiến trình hệ thống, giúp bạn dễ dàng xác định các ứng dụng tốn nhiều tài nguyên hoặc phát hiện bất kỳ hoạt động tiến trình bất thường nào.

Theo dõi thay đổi file với watch

Trong bước này, bạn sẽ học cách sử dụng lệnh watch để theo dõi các thay đổi trong file hoặc thư mục.

Lệnh watch có thể được dùng cùng với lệnh ls (liệt kê nội dung thư mục) để hiển thị liên tục nội dung thư mục và phát hiện thay đổi.

Đầu tiên, hãy tạo một thư mục và một vài file để theo dõi:

mkdir ~/project/files
touch ~/project/files/file1.txt ~/project/files/file2.txt

Bây giờ, để theo dõi nội dung của thư mục ~/project/files, hãy chạy lệnh sau:

watch -n 5 'ls -l ~/project/files'

Lệnh này sẽ thực thi lệnh ls -l ~/project/files mỗi 5 giây và hiển thị kết quả trong terminal của bạn. Tùy chọn -l của ls hiển thị định dạng dài, bao gồm thông tin như quyền, chủ sở hữu, kích thước và thời gian sửa đổi.

Bạn cũng có thể sử dụng lệnh watch để theo dõi các thay đổi trong một file cụ thể. Ví dụ, để theo dõi nội dung của file file1.txt:

watch -n 5 'cat ~/project/files/file1.txt'

Lệnh này sẽ hiển thị nội dung của file file1.txt mỗi 5 giây, và bạn sẽ có thể thấy bất kỳ thay đổi nào được thực hiện đối với file trong thời gian thực.

Ví dụ đầu ra:

Every 5.0s: ls -l ~/project/files                                    labex@ubuntu: Fri Apr 28 14:45:41 2023

total 0
-rw-r--r-- 1 labex labex 0 Apr 28 14:44 file1.txt
-rw-r--r-- 1 labex labex 0 Apr 28 14:44 file2.txt

Lệnh watch cho phép bạn liên tục theo dõi file và thư mục, giúp bạn dễ dàng phát hiện các thay đổi hoặc sửa đổi đối với các file của hệ thống.

Kết luận cho linux watch command

Vậy là chúng ta đã cùng nhau khám phá lệnh watch đầy hữu ích trong Linux! Hy vọng qua bài viết này, bạn đã nắm vững cách sử dụng lệnh này để theo dõi các thay đổi trên hệ thống một cách dễ dàng. linux watch command thực sự là một công cụ mạnh mẽ giúp bạn tiết kiệm thời gian và công sức trong việc giám sát các tiến trình và tệp tin. Đừng ngần ngại thử nghiệm các tùy chọn khác nhau để tối ưu hóa việc sử dụng lệnh này cho nhu cầu cụ thể của bạn. Chắc chắn rằng, bạn sẽ thấy nó trở thành một phần không thể thiếu trong bộ công cụ quản trị hệ thống của mình. Chúc bạn thành công và có những trải nghiệm thú vị với Linux!

Last Updated : 15/10/2025