`tail -f`가`less + F`보다 더 효율적입니까?


34

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

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

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

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

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

답변:


37

나는 당신이 요점을 다루었다고 생각합니다 : 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다른 터미널에서 열 수 있습니다 .

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


매우 큰 파일을 사용하면 'less -n 99.99p + F'가 전체 파일을 읽는 것을 막을 수 있습니까?
cuonglm

1
@cuonglm 아, 맞아. 그냥 less -n차종 덜 사용하는 것이, 충분한 추구 - 투 - 엔드 - 다음 - 읽기 다시 전략을.
Gilles 'SO- 악마 그만해'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.