Câu trả lời:
tail
có -f
tùy chọn:
Từ man
trang:
-f, --follow [= {name | descriptor}] xuất dữ liệu được nối thêm khi tệp phát triển; -f, --follow và --follow = descriptor tương đương
Do đó, nếu bạn gõ:
tail -f [path_and_name_of_logfile]
- bạn sẽ thấy đầu ra trong thiết bị đầu cuối khi tệp nhật ký được thêm vào.
NB [path_and_name_of_logfile]
là tham số, vì vậy để đưa ra một ví dụ:
tail -f /var/log/messages
Nếu bạn kết hợp với -n [number_of_lines]
tùy chọn, bạn có thể bắt đầu đầu ra từ [number_of_lines] cuối cùng trong tệp - ví dụ:
tail -n 10 -f /var/log/Xorg.0.log
Một số chương trình sẽ định kỳ thay đổi tệp nhật ký của họ, chuyển tên cũ sang tên mới (ví dụ: log.0) và bắt đầu lại.
NB logrotate thực hiện điều này để ghi nhật ký các tệp cho các chương trình khác không tự làm.
tail -f
sẽ tiếp tục theo dõi tệp cũ sau khi được đổi tên.
tail -F
sẽ theo dõi tệp theo tên, vì vậy sẽ chuyển sang theo tệp mới.
Mặc dù tail
chắc chắn là cách thông thường để làm điều này, cần lưu ý rằng less
có tính năng tương tự và đôi khi hữu ích hơn.
Nếu bạn đã mở một tệp với less
thì bạn có thể nhấn Shift+ Fđể nó theo dõi tệp (tức là nó sẽ hiển thị các dòng mới, giống như tail -f
vậy). Bạn có thể thoát chế độ này với Ctrl+C
Bạn cũng có thể bắt đầu less
với +F
tùy chọn, trong trường hợp đó, nó sẽ bắt đầu trong chế độ đó. Nói chung +
có thể được sử dụng để đưa ra "lệnh bàn phím" less
mà nó sẽ thực thi khi khởi động.
Sử dụng less
cho việc này có lợi thế là bạn có thể dễ dàng tìm kiếm tệp hoặc xem các khu vực khác nếu có nhu cầu. Tôi đã thường xuyên làm điều đó với các tệp nhật ký, ví dụ.
tail
có hai triển khai để theo dõi và xuất dữ liệu được thêm vào một tệp
Với tham số -f
, --follow
và --follow=descriptor
, tail
theo mô tả tập tin. Phương pháp này cho phép tập tin được theo dõi trong quá trình đổi tên nhưng quá trình theo dõi dừng lại khi tập tin được xoay (một tập tin mới được tạo bằng một bộ mô tả tập tin khác).
Khi theo các tệp được xoay, sử dụng --follow=name
hoặc -F
tham số bằng --follow=name --retry
. Bằng cách đó tail
sẽ định kỳ mở lại tệp để vượt qua vòng quay có thể.