더 적은 +F에 대해 지연을 비활성화하는 방법이 있습니까?

더 적은 +F에 대해 지연을 비활성화하는 방법이 있습니까?

less +F file- 및 -를 각각 사용하여 항상 앞으로 모드로 전환하거나 종료 할 수 있으므로 실행은 매우 편리합니다 .CtrlCF

불행하게도 새로운 줄에는 지연이 있어서 시청하고 다른 콘텐츠와 비교할 때 매우 짜증스러울 수 있습니다.

tail -f그러한 지연은 없지만 위로 스크롤하거나 검색하거나 다른 작업을 수행하기 위해 영원히 앞으로 모드에서 쉽게 전환할 수 없습니다.

두 가지의 장점을 결합할 수 있는 방법이 있나요?

답변1

지연이 발생하는 이유는 less +F다음과 같습니다(에서 발췌)이 답변, 너무 좋아서 그대로 인용하겠습니다):

less +F전체 파일을 읽습니다. 많은 시스템에서는 tail -f파일 끝만 읽습니다. 심지어 전체 파일을 읽는 시스템에서도 적어도 전체 파일을 메모리에 유지하지는 않습니다. 이는 less +F매우 큰 파일의 경우 실용적이지 않습니다. 그러나 less 를 실행하면 less -n +Fless 가 파일의 끝 부분만 읽게 되지만 숫자는 표시되지 않습니다.

내부적으로 less -n +Ftail -f의 주요 차이점 은 tail일부 플랫폼에서는 파일 변경 알림 서비스(예: Linux의 inotify)를 사용하여 새 데이터를 즉시 표시할 수 있는 반면 less새 데이터를 표시하는 데 최대 1초가 걸릴 수 있다는 것입니다. 데이터는 루프에서 새 데이터를 확인하고 확인 사이에 휴면 상태를 유지하기 때문입니다.

관련 정보