나는 최근에 장기 실행 소스 코드 검색을 시작하고 즉시 백그라운드로 전송할 수 있다는 사실을 발견했습니다.
grep -r something | less &
less
검색 결과를 보기로 결정할 때 기다릴 필요가 없도록 현재 "백그라운드"에 표시된 것보다 더 많은 출력을 메모리로 직접 읽을 수 있는 방법이 있습니까?
답변1
기본적으로 명령이 파이프되면 bash
쉘은 다음을 사용합니다.파이프(3)하위 작업의 파일 설명자를 짜기 위해 libc에 의해 호출됩니다. 기본 내부 버퍼 크기는 64K에 불과합니다.
그러나 도구가 있습니다
buffer
이 작업을 위해 대부분의 배포판에 포함되어 있습니다. 기본적으로 1MB 버퍼를 사용하지만 원하는 크기로 늘릴 수 있습니다. 예를 들어
grep ..anything, anywhere.. | buffer -m $[1<<30] | less &
그거면 충분할 것 같아요. :-) 다른 좋은 기능도 많이 있습니다(예: 처럼 작동하거나 dd
n 바이트 청크 후에 해시를 stderr에 인쇄합니다).킬러 앱. :-)