`tail -f`가`less + F`보다 더 효율적입니까? 강조 표시,

이 기사less +Fover 를 사용해야하는 몇 가지 이유를 지적했다 tail -f. 대부분의 이유는 기술적 이유가 아니라 기능 에 관한 것 입니다. 파일을 강조 표시, 검색, 탐색 할 수 있습니다.less +F

방법에 대한 기술적 인 이유?

AFAIK less는 1 초마다 폴링을 사용하여 파일을 업데이트하는 반면 POSIX에서 정의tail 한대로 1 초 동안 잠자고 사용 가능한 바이트를 복사하는 루프를 사용합니다. 이것으로 충분하지만 POSIX는 구현이보다 효율적인 방법을 사용하도록 권장했습니다. 적어도 GNU tailinotify를 사용 하므로 더 효율적입니다.

less 또한 파일 내용을 메모리에 유지하므로 몇 기가 바이트와 같은 큰 파일을 사용하면 컴퓨터 속도가 느려질 수 있습니다.

그래서, 어떤 다른 사람이 기술 사용하는 이유 tail -f이상은 less +F?



답변

나는 당신이 요점을 다루었다고 생각합니다 : less +F전체 파일을 읽는 반면 많은 시스템 tail -f에서 파일의 끝 만 읽습니다. 심지어 전체 파일을 읽는 시스템에서도 최소한 전체 파일을 유지하지는 않습니다. 메모리에. 즉 만드는 less +F매우 큰 파일에 대한 실용적이지. 그러나 행 번호를 표시하지 않으면 서 파일의 끝 부분 만 읽도록 less -n +F하는 run을 실행할 수 있습니다 less.

후드 아래, 사이 less -n +Ftail -f, 주요 차이점은입니다 tail반면이 즉시 새로운 데이터를 표시 할 수 있습니다 일부 플랫폼에서 파일 변경 알림 서비스 (예를 들어, inotify를 리눅스), 사용에게 less새로운 데이터를 표시 1 초까지 걸릴 수는 루프에서 새 데이터를 확인하고 확인 사이에 대기하기 때문입니다.

또 다른 차이점 less +Ftail -fless입력 필터를 호출하지만, 일반적으로 로그 파일에 어떤 영향을 미칠되지 않습니다.

유리한 기술적 차이점 less +F-S옵션 을 사용하여 화면 너비에서 줄을자를 tail수 있지만 길이에 관계없이 전체 줄을 표시하는 것 외에는 선택의 여지가 없다는 것입니다.

인터페이스 측면에서는을 사용하는 것만 큼 이점이 없습니다 less. tail -f어떤 일이 발생했을 때 알아 차리는 것이 좋습니다. 백그라운드에서 실행할 수도 있습니다. 어떤 일이 발생하여 파일을 더 자세히 보려면 less다른 터미널에서 열 수 있습니다 .

여러 파일을보고 싶다면 멀티 테일좋습니다 . 단일 파일의 경우에도 멀티 테일에는 필터링 및 색상 화와 같은 추가 기능이 있습니다.


답변