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!