Tôi tìm thấy câu hỏi của bạn trong khi tìm kiếm câu trả lời tương tự cho chính mình.
Thất vọng vì câu trả lời được chấp nhận, tôi đã đưa ra một cách giải quyết. Điều đó ít hơn lý tưởng, nhưng nó cho phép tôi đánh dấu vị trí của mình trong nhật ký mà tôi đang theo dõi less
, đó là toàn bộ vấn đề.
Tôi đã tạo một tập lệnh thực thi nhỏ (tôi gọi nó marklog
) với các nội dung sau và đặt nó vào đường dẫn của tôi:
#!/bin/sh
echo >> $1
echo >> $1
echo >> $1
echo `date` ---------------------------------------------------------------------- >> $1
echo >> $1
echo >> $1
Tất nhiên, điều này chỉ hoạt động nếu bạn có quyền ghi vào tệp nhật ký - có thể là một công cụ giải quyết trong nhiều tình huống. Tôi cũng đã tạo phiên bản này mà tôi sử dụng để ghi vào các tệp nhật ký mà tôi không sở hữu (nhưng tôi có quyền truy cập sudo):
#!/bin/sh
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
Các kịch bản này chỉ cung cấp loại phá vỡ hình ảnh mà tôi đang tìm kiếm. Có ít nhất 3 cách bạn có thể sử dụng chúng:
Tại điểm mà bạn thường nhấn enter một vài lần khi sử dụng tail -f
, thay vào đó chạy marklog
từ một thiết bị đầu cuối khác (cung cấp đường dẫn đến tệp nhật ký làm đối số).
Sử dụng CtrlZđể tạm dừng less
để bạn có thể chạy tập lệnh trong cùng một cửa sổ đầu cuối, nhưng khi bạn quay lại tiền cảnh less
( fg
dĩ nhiên là sử dụng ), nó sẽ không còn ở chế độ 'theo dõi', vì vậy bạn sẽ cần phải nhấn ShiftFlại ...
Cuối cùng - và đây có thể là cách thuận tiện nhất, vì bạn không cần nhập đường dẫn đến tệp nhật ký: Chạy marklog
trực tiếp từ less
bằng cách nhập !marklog %
. Less
sẽ thay thế tên tệp hiện tại cho %
. Tuy nhiên, less
sẽ không trả lời! trong khi nó ở chế độ 'theo dõi', vì vậy bạn sẽ phải nhấn CtrlCtrước để thoát chế độ theo dõi, chạy !marklog %
, sau đó ShiftFlại.
Với phương pháp 3, bạn cũng nhận được phần thưởng bổ sung của lịch sử lệnh Ít hơn: Chỉ cần nhấn !
và sau đó sử dụng mũi tên lên để chọn lệnh gần đây nhất (đối với tôi, luôn luôn như vậy marklog
).
Hy vọng điều này sẽ giúp ai đó nhiều như đã giúp tôi.