Hướng dẫn lệnh Linux watch cho người mới bắt đầu (5 ví dụ)

theanh

Administrator
Nhân viên
Đôi khi, khi làm việc trên dòng lệnh Linux, bạn có thể muốn thực hiện một lệnh nhiều lần để theo dõi bất kỳ thay đổi nào trong đầu ra. Vâng, bạn sẽ vui mừng khi biết rằng có một tiện ích dòng lệnh cho phép bạn thực hiện việc này. Công cụ được đề cập đến là Watch và trong hướng dẫn này, chúng ta sẽ thảo luận về một số tính năng cơ bản của công cụ này bằng một số ví dụ dễ hiểu.

Nhưng trước khi thực hiện điều đó, cần đề cập rằng tất cả các ví dụ được sử dụng trong bài viết này đều đã được thử nghiệm trên Ubuntu 22.04 LTS.

Lệnh watch của Linux​

Như đã đề cập, tiện ích watch cho phép bạn thực hiện một lệnh nhiều lần. Sau đây là cú pháp của lệnh này:
Mã:
watch [options] command
Và đây là cách trang hướng dẫn của công cụ mô tả lệnh này:
Mã:
watch runs command repeatedly, displaying its output and errors (the
first screenfull). This allows you to watch the program output change
over time. By default, the program is run every 2 seconds. By
default, watch will run until interrupted.
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh 'watch' hoạt động.

Câu hỏi 1. Lệnh watch hoạt động như thế nào?​

Cách sử dụng cơ bản của lệnh watch rất dễ - tất cả những gì bạn phải làm là chạy công cụ với tên lệnh làm đầu vào. Ví dụ:
Mã:
watch date
Lệnh trên tạo ra kết quả đầu ra sau trên hệ thống của tôi:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2248%22%3E%3C/svg%3E


Dòng đầu tiên của kết quả đầu ra cho biết kết quả đầu ra của lệnh 'ngày' đang được làm mới sau mỗi 2 giây (đó là khoảng thời gian mặc định), theo sau là ngày/giờ hiện tại của hệ thống. Dòng thứ hai là đầu ra thực tế của lệnh 'date' được làm mới sau mỗi vài giây.

Câu hỏi 2. Làm thế nào để watch làm nổi bật sự khác biệt giữa các bản cập nhật?​

Như đã giải thích trong phần trước, đầu ra của lệnh đang được theo dõi được cập nhật thường xuyên (sau 2 giây theo mặc định). Trong trường hợp bạn muốn, bạn cũng có thể làm cho 'watch' làm nổi bật phần đầu ra đang thay đổi giữa các bản cập nhật.

Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -d. Ví dụ:
Mã:
watch -d date
Và đây là cách lệnh watch làm nổi bật các thay đổi hiện tại:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2243%22%3E%3C/svg%3E

Q3. Làm thế nào để tùy chỉnh khoảng thời gian cập nhật?​

Như đã đề cập, khoảng thời gian cập nhật mặc định là 2 giây. Tuy nhiên, nếu muốn, bạn có thể thay đổi giá trị này bằng cách sử dụng tùy chọn dòng lệnh -n, yêu cầu bạn phải truyền giá trị khoảng thời gian mới làm đầu vào của nó.

Ví dụ:
Mã:
watch -n 5 date
Lệnh này sẽ đảm bảo đầu ra được cập nhật sau mỗi 5 giây. Xin lưu ý rằng các khoảng thời gian nhỏ hơn 0,1 giây không được phép.

Lưu ý: Để đảm bảo khoảng cách giữa các khoảng thời gian được tôn trọng một cách rất chính xác, hãy sử dụng tùy chọn dòng lệnh -p. Sau đây là cách trang hướng dẫn mô tả tùy chọn này:
Mã:
Make watch attempt to run command every interval seconds. Try it
with ntptime and notice how the fractional seconds stays
nearly) the same, as opposed to normal mode where they continu?
ously increase.

Câu hỏi 4. Làm thế nào để tắt tiêu đề trong đầu ra?​

Nếu muốn, bạn cũng có thể yêu cầu 'watch' tắt tiêu đề hiển thị khoảng thời gian, lệnh và
thời gian hiện tại ở đầu màn hình, cũng như dòng trống sau. Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -t.

Ví dụ:
Mã:
watch -t date
Đây là kết quả đầu ra do lệnh trên tạo ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2272%22%3E%3C/svg%3E


Vì vậy, bạn có thể thấy tiêu đề đã bị xóa hoàn toàn.

Câu hỏi 5. Làm thế nào để watch thoát khi đầu ra thay đổi?​

Nếu bạn muốn lệnh 'watch' thoát sau khi phát hiện ra thay đổi ở đầu ra, hãy sử dụng tùy chọn dòng lệnh -g.

Ví dụ:
Mã:
watch -gfree
Vì vậy, bất cứ khi nào mức sử dụng bộ nhớ trong hệ thống thay đổi, lệnh watch sẽ thoát.

Kết luận​

Như bạn đã hiểu, watch là một cách tuyệt vời để theo dõi các thay đổi, dù là ở cấp hệ thống, cấp thư mục hay thậm chí là cấp tệp. Trong hướng dẫn này, chúng tôi đã thảo luận về một số tùy chọn dòng lệnh chính của 'watch'. Sau khi thực hành xong, hãy đến trang hướng dẫn của công cụ để tìm hiểu thêm. Giải thích thêm về các lệnh Linux, ví dụ lệnh tee.
 
Back
Bên trên