![표시되지 않는 데이터를 버퍼로 읽으려면 less를 어떻게 구성합니까?](https://linux55.com/image/117201/%ED%91%9C%EC%8B%9C%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC%20%EB%B2%84%ED%8D%BC%EB%A1%9C%20%EC%9D%BD%EC%9C%BC%EB%A0%A4%EB%A9%B4%20less%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EA%B5%AC%EC%84%B1%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
나는 최근에 장기 실행 소스 코드 검색을 시작하고 즉시 백그라운드로 전송할 수 있다는 사실을 발견했습니다.
grep -r something | less &
less
검색 결과를 보기로 결정할 때 기다릴 필요가 없도록 현재 "백그라운드"에 표시된 것보다 더 많은 출력을 메모리로 직접 읽을 수 있는 방법이 있습니까?
답변1
기본적으로 명령이 파이프되면 bash
쉘은 다음을 사용합니다.파이프(3)하위 작업의 파일 설명자를 짜기 위해 libc에 의해 호출됩니다. 기본 내부 버퍼 크기는 64K에 불과합니다.
그러나 도구가 있습니다
buffer
이 작업을 위해 대부분의 배포판에 포함되어 있습니다. 기본적으로 1MB 버퍼를 사용하지만 원하는 크기로 늘릴 수 있습니다. 예를 들어
grep ..anything, anywhere.. | buffer -m $[1<<30] | less &
그거면 충분할 것 같아요. :-) 다른 좋은 기능도 많이 있습니다(예: 처럼 작동하거나 dd
n 바이트 청크 후에 해시를 stderr에 인쇄합니다).킬러 앱. :-)