Được xuất bản vào ngày 19 tháng 4 năm 2026, 2 giờ chiều EDT
Kinh nghiệm của Afam trong lĩnh vực xuất bản công nghệ bắt đầu từ năm 2018, khi anh làm việc cho Make Tech Easier. Trong những năm qua, ông đã tạo dựng được danh tiếng nhờ xuất bản các bài viết hướng dẫn, đánh giá, thủ thuật và giải thích chất lượng cao, bao gồm Windows, Linux và các công cụ nguồn mở. Tác phẩm của anh đã được giới thiệu trên các trang web hàng đầu, bao gồm cả Digital Ustad, Windows Report, Guiding Tech, Alphr và Next of Windows.
Anh có bằng đầu tiên về Khoa học Máy tính và là người ủng hộ mạnh mẽ quyền riêng tư và bảo mật dữ liệu, với một số mẹo, video và hướng dẫn về chủ đề này được đăng trên kênh YouTube Fuzo Tech.
Khi không làm việc, anh ấy thích dành thời gian cho gia đình, đạp xe hoặc chăm sóc khu vườn của mình.
Khi tôi thiết lập Linux, nó thường chạy như mong đợi. Ở đâu đó trong nền, nó tạo tệp, cập nhật cấu hình và xây dựng bộ đệm. Tuy nhiên, tôi hiếm khi lén lút xem bất kỳ quy trình nào trong số này nếu không có gì bị hỏng.
Lần đầu tiên, tôi muốn làm điều đó khác đi. Tôi quyết định xem mọi thứ diễn ra ở phía sau. Vì vậy, tôi đã sử dụng inotifywait lệnh để giám sát hoạt động thời gian thực. Tôi rất ngạc nhiên trước sức mạnh của mệnh lệnh này. Nó tiết lộ rằng ngay cả những hành động đơn giản nhất cũng có thể tạo ra một số thao tác nền.
Tính năng Linux theo dõi mọi thứ
Hoạt động của tệp dễ theo dõi hơn bạn nghĩ
Inotify là hệ thống con cấp kernel đã được thêm vào Linux trong phiên bản 2.6.13. Tính năng này ghi lại các sự kiện hệ thống tệp theo thời gian thực và báo cáo chúng khi chúng xảy ra. Nó chỉ đơn giản là kernel thông báo cho bạn về những thay đổi.
Nó liên tục theo dõi việc tạo, sửa đổi, xóa, truy cập và di chuyển tệp để báo cáo những sự kiện này. Điều tôi thích khi sử dụng inotify là cách nó chỉ bổ sung thêm chi phí tối thiểu trong quá trình sử dụng thông thường. Điều này là do nó chỉ báo cáo các tín hiệu mà kernel đã tạo ra; nó không chạy trình quét nền.
Bạn không thể tương tác trực tiếp với inotify và đó là lý do tại sao bạn cần inotify-tools. Nó cung cấp hai tiện ích không gian người dùng giúp tính năng kernel có thể sử dụng được từ thiết bị đầu cuối.
<đầu>Thành phần
Nó làm gì
thông báo
Hệ thống con hạt nhân tạo ra các sự kiện hệ thống tệp
inotifywait
Truyền trực tiếp những sự kiện đó tới thiết bị đầu cuối của bạn
inotifywatch
Đếm số lần mỗi loại sự kiện xảy ra trong một khoảng thời gian nhất định
Trong số các thành phần này, inotifywait là tùy chọn cho phép truy cập vào tính năng giám sát theo thời gian thực.
Lệnh duy nhất cho phép bạn xem trực tiếp ứng dụng
Từ 0 đến theo dõi tệp theo thời gian thực trong vài giây
Để bắt đầu, bạn chỉ cần một lệnh để thiết lập công cụ inotify vì inotify đã có trong kernel.
<đầu>Phân phối
Lệnh
Ubuntu/Debian
sudo apt cài đặt công cụ inotify
Fedora
sudo dnf cài đặt công cụ inotify
Arch Linux
sudo pacman -S inotify-tools
mởSUSE
sudo zypper cài đặt công cụ inotify
Sau khi cài đặt xong, bạn có thể xác nhận nó đã sẵn sàng để sử dụng bằng cách chạy inotifywait --version , rồi chạy inotifywait -m ~/Documents Điều quan trọng là phải thêm cờ -m để khi lệnh chạy, nó không thoát sau sự kiện đầu tiên. Ngay lập tức, bạn bắt đầu thấy những thay đổi trong thư mục, trong trường hợp này là thư mục "Tài liệu". Các sự kiện bạn thấy có định dạng:thư mục đã xem/loại sự kiện/tệp đã kích hoạt sự kiện. Ví dụ:bạn có thể có /home/user/Documents/ MODIFY note.txt .
Sau khi có sự kiện, bạn có thể sử dụng một số cờ để làm cho báo cáo hữu ích hơn.
<đầu>Cờ
Mục đích
-m
Tiếp tục chạy liên tục thay vì thoát ra sau một sự kiện
-r
Xem đệ quy tất cả các thư mục con
-e
Lọc các loại sự kiện cụ thể, ví dụ:-e tạo,sửa đổi,xóa
--format
Kiểm soát cấu trúc đầu ra để dễ đọc hoặc ghi nhật ký
--timefmt
Thêm dấu thời gian vào từng sự kiện
Đây là những lệnh cơ bản bạn sẽ sử dụng; bạn chỉ cần chỉ cho họ điều gì đó có thật.
Những gì tôi thực sự thấy khi sử dụng nó trên ứng dụng thực
Hành vi của tệp mà bạn thường không bao giờ nhận thấy
Để xem điều gì xảy ra trên máy tính của mình, tôi đã sử dụng các ứng dụng theo cách tôi thường làm khi trỏ inotifywait vào các thư mục cụ thể. Điều thực sự làm tôi ngạc nhiên không phải là những gì nó hiển thị cho tôi mà là số lượng hoạt động nền.
Tôi bắt đầu với một trình soạn thảo văn bản. Trong khi theo dõi thư mục Tài liệu của mình, tôi đã lưu một tệp. Tôi đã mong đợi nhận được thông báo về một sự kiện, nhưng những gì tôi nhận được lại là một chuỗi sự kiện. Nó hiển thị một tệp tạm thời đang được tạo, theo sau là moved_from và đã chuyển_đến sự kiện. Trong tất cả những điều này, trình soạn thảo văn bản của tôi không bao giờ chạm trực tiếp vào tệp gốc. Khi tôi tạo tệp, nó đã ghi vào một tệp vứt đi trước khi hoán đổi nó vào. Bằng cách này, tệp gốc vẫn còn nguyên ngay cả khi có điều gì đó xảy ra trong quá trình ghi.
Sau đó tôi chuyển sang ~/.mozilla/firefox/ thư mục nơi tôi theo dõi Firefox. Khi tôi khởi chạy trình duyệt, ngay lập tức có một đợt ghi dữ liệu. Trong vài giây, tôi đã có places.sqlite để biết dấu trang và lịch sử duyệt web, hãy nhấp vào sessionstore.jsonlz4 cho các tab đang mở. Tuy nhiên, điều tôi thấy thú vị là việc ghi liên tục ngay cả khi trình duyệt không hoạt động. Đây có vẻ là hành vi bình thường của trình duyệt. Tôi đã nhận thấy việc ghi không hoạt động tương tự với Chrome. Lượng hoạt động nền đáng kể trong Firefox rất quan trọng vì nó liên tục chuyển dữ liệu phiên vào đĩa, đảm bảo rằng các tab có thể được phục hồi sau khi gặp sự cố.
Tuy nhiên, trong số này, việc cài đặt gói gây ra nhiều tiếng ồn nhất. Tôi đã chạy cài đặt apt trong khi xem /var/lib/dpkg/ và tôi thấy tệp lock-frontend xuất hiện đầu tiên. Đây là cơ chế quan trọng đảm bảo các hoạt động của gói không chạy đồng thời. Sau đó, có rất nhiều thao tác ghi diễn ra trên cơ sở dữ liệu gói.
Điều nhất quán trong ba thư mục mà tôi quan sát được là không bao giờ có một thao tác tệp sạch nào. Tất cả đều có lớp.
Khi điều này thực sự hữu ích trong cuộc sống thực
Điều này bắt đầu như một thử nghiệm, nhưng chỉ mất một vài phiên trước khi inotifywait trở thành một công cụ mà tôi sử dụng một cách tự nhiên. Nó là một công cụ quan trọng để gỡ lỗi các vấn đề cấu hình. Việc xem thư mục cấu hình và ghi lại các tệp bị ghi đè khi chúng xảy ra có thể giúp bạn hiểu rõ hơn khi cài đặt tiếp tục tự đặt lại.
Tôi cũng sử dụng nó khi phải đánh giá phần mềm mà tôi chưa quen. Tôi không cần phải đoán phần mềm lưu trữ dữ liệu ở đâu nữa vì giờ đây tôi có thể xem nó chạm vào những gì. Đây là một cách dễ dàng để phát hiện ứng dụng nào ghi bên ngoài thư mục dự kiến của chúng.
Tuy nhiên, nếu bạn đang sử dụng inotifywait, hãy sẵn sàng cho đầu ra rất ồn. Hạn chế thứ hai là mặc dù nó cho thấy những gì đã thay đổi nhưng nó không giải thích được tại sao. Điều đó có nghĩa là nó đã trở thành một trong những lệnh hữu ích nhất mà tôi sử dụng để quản lý Linux.