Bạn mô tả tailtiện ích GNU . Sự khác biệt giữa hai cờ này là nếu tôi mở một tệp, ví dụ như tệp nhật ký, như sau:
$ tail -f /var/log/messages
... và nếu tiện ích xoay vòng nhật ký trên máy của tôi quyết định xoay tệp nhật ký đó trong khi tôi đang xem tin nhắn được ghi vào nó ("xoay" nghĩa là xóa hoặc di chuyển đến một vị trí khác, v.v.), đầu ra mà tôi thấy sẽ chỉ dừng lại.
Nếu tôi mở tập tin tailnhư thế này:
$ tail -F /var/log/messages
... Và một lần nữa, tệp được xoay, đầu ra sẽ tiếp tục chảy trong bảng điều khiển của tôi vì tailsẽ mở lại tệp ngay khi có sẵn một lần nữa, tức là khi (các) chương trình ghi vào nhật ký bắt đầu ghi vào mới /var/log/messages .
Trên các hệ thống BSD miễn phí, không có -Ftùy chọn nào , nhưng tail -fsẽ hoạt động giống như tail -Ftrên các hệ thống GNU, với sự khác biệt là bạn nhận được thông báo
tail: file has been replaced, reopening.
trong đầu ra khi tệp bạn đang theo dõi biến mất và xuất hiện lại.
BẠN CÓ THỂ KIỂM TRA NÀY
Trong một phiên shell, làm
$ cat >myfile
Điều đó bây giờ sẽ chờ bạn gõ công cụ. Chỉ cần đi trước và gõ một số từ vô nghĩa, một vài dòng. Tất cả sẽ được lưu vào tập tin myfile.
Trong một phiên shell khác (có thể trong một thiết bị đầu cuối khác, mà không làm gián đoạncat ):
$ tail -f myfile
Điều này sẽ hiển thị (cuối của) nội dung myfiletrong bảng điều khiển. Nếu bạn quay lại phiên shell đầu tiên và nhập thêm thứ gì đó, đầu ra đó sẽ ngay lập tức được hiển thị tailtrong phiên shell thứ hai.
Bây giờ bỏ catbằng cách nhấn Ctrl+D, và loại bỏ các myfiletập tin:
$ rm myfile
Sau đó chạy lại con mèo:
$ cat >myfile
... và gõ một cái gì đó, một vài dòng.
Với GNU tail, các dòng này sẽ không hiển thị trong phiên shell thứ hai (nơi tail -fvẫn đang chạy).
Lặp lại bài tập với tail -Fvà quan sát sự khác biệt.