Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh watch
của Linux, cho phép bạn thực thi lặp đi lặp lại một lệnh và theo dõi đầu ra của nó. Lab này bao gồm việc hiểu lệnh watch
, giám sát các tiến trình hệ thống và theo dõi các thay đổi của tệp trong thời gian thực. Lệnh watch
là một công cụ mạnh mẽ để giám sát và quản lý hệ thống, cho phép bạn luôn được thông báo về các sự kiện và thay đổi quan trọng của hệ thống. Trong suốt lab, bạn sẽ khám phá các ví dụ thực tế và học cách sử dụng hiệu quả lệnh watch
trong các tác vụ quản trị hệ thống hàng ngày của mình.
Tìm hiểu 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 đi lặp lại một lệnh và theo dõi đầu ra 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. Nó có thể được sử dụng để theo dõi các thay đổi trong các tiến trình hệ thống, sửa đổi tệp và các sự kiện thời gian thực khác.
Để bắt đầu sử dụng lệnh watch
, chỉ cần chạy lệnh sau trong terminal của bạn:
watch [options] <command>
Ở đây, [options]
là các tham số tùy chọn mà 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
: Đánh dấu 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) cứ sau 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ó cứ sau 5 giây.
Giám sát tiến trình hệ thống bằng watch
Trong bước này, bạn sẽ học cách sử dụng lệnh watch
để giám sát các tiến trình hệ thống trong thời gian thực.
Lệnh watch
có thể được sử dụng kết hợp với lệnh ps
(trạng thái tiến trình) để liên tục hiển thị thông tin về các tiến trình đang chạy trên hệ thống của bạn.
Để giám sát các 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
cứ sau 5 giây và hiển thị đầu ra trong terminal của bạn. Lệnh ps aux
hiển thị thông tin về tất cả các tiến trình đang chạy, bao gồm người dùng, ID tiến trình, mức sử dụng CPU và bộ nhớ và lệnh đã khởi động tiến trình.
Bạn cũng có thể sử dụng lệnh watch
với các lệnh liên quan đến tiến trình khác, chẳng hạn như top
hoặc htop
, để có cái nhìn chi tiết hơn về các tiến trình hệ thống:
watch -n 5 top
Lệnh này sẽ hiển thị đầu ra của lệnh top
, hiển thị 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ề đầu ra:
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 giám sát các tiến trình hệ thống, giúp bạn dễ dàng xác định các ứng dụng sử dụng 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.
Giám sát thay đổi tệp bằng watch
Trong bước này, bạn sẽ học cách sử dụng lệnh watch
để giám sát các thay đổi trong tệp hoặc thư mục.
Lệnh watch
có thể được sử dụng kết hợp với lệnh ls
(liệt kê nội dung thư mục) để liên tục hiển thị nội dung của một thư mục và phát hiện bất kỳ thay đổi nào.
Đầu tiên, hãy tạo một thư mục và một số tệp để theo dõi:
mkdir ~/project/files
touch ~/project/files/file1.txt ~/project/files/file2.txt
Bây giờ, để giám sát 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
cứ sau 5 giây và hiển thị đầu ra trong terminal của bạn. Tùy chọn -l
cho ls
hiển thị danh sách ở định dạng dài, bao gồm thông tin như quyền của tệp, quyền 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
để giám sát các thay đổi trong một tệp cụ thể. Ví dụ: để giám sát nội dung của tệp file1.txt
:
watch -n 5 'cat ~/project/files/file1.txt'
Lệnh này sẽ hiển thị nội dung của tệp file1.txt
cứ sau 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 tệp trong thời gian thực.
Ví dụ về đầ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 giám sát các tệp 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 tệp của hệ thống.
Tóm tắt
Trong lab này, bạn sẽ học cách sử dụng lệnh watch
trong Linux để giám sát các tiến trình hệ thống và thay đổi tệp. Đầu tiên, bạn sẽ hiểu các kiến thức cơ bản về lệnh watch
, bao gồm cách chạy nó và các tùy chọn có sẵn. Sau đó, bạn sẽ học cách sử dụng watch
để giám sát các tiến trình hệ thống, chẳng hạn như theo dõi các thay đổi về mức sử dụng đĩa theo thời gian. Cuối cùng, bạn sẽ khám phá cách sử dụng watch
để giám sát các thay đổi của tệp, điều này có thể hữu ích để theo dõi các tệp cấu hình hoặc tệp nhật ký. Đến cuối lab này, bạn sẽ có một sự hiểu biết vững chắc về lệnh watch
và cách áp dụng nó vào các tác vụ giám sát hệ thống khác nhau.