명령을 실행하여 한 번에 표시되는 줄 수를 제한하십시오.

명령을 실행하여 한 번에 표시되는 줄 수를 제한하십시오.

터미널에서 실행 중인 모든 명령을 출력하는 몇 가지 명령이 있습니다. 이는 훌륭하지만 전체 창을 수천 줄의 입력으로 채울 필요는 없습니다. 출력된 마지막 x개 행만 표시하고 나머지는 제거하는 방법이 있습니까?

답변1

tail 명령을 사용할 수 있습니다. 사용자가 지정한 파일의 마지막 몇 줄만 나열됩니다. 원한다면 실시간으로 마지막 몇 줄만 나열합니다. tail -n 5는 마지막 5줄을 인쇄합니다. 다른 옵션을 얻으려면 man tail을 수행하십시오.

답변2

어떤 명령이 많이 출력되는지 알지 못하더라도 "파이프"를 사용하여 첫 번째 명령의 출력을 두 번째 명령으로 보내 tail 명령으로 터미널에 출력되는 줄의 양을 제한할 수 있다고 말할 수 있습니다. 예를 들면 다음과 같습니다.

ls | tail -n 5  

ls 명령의 출력을 화면으로 보내는 대신 tail 명령으로 보냅니다(또는 파이프). 여기서 tail 명령은 "-n 5" 지정으로 인해 ls 출력의 마지막 5줄을 인쇄합니다.

답변3

콘솔 출력은 출력 스트림(표준 출력 또는 표준 오류)에 하나씩 쓰여지는 라인입니다. 콘솔 창과 터미널 응용 프로그램은 해당 항목을 표시하고 이전 항목을 위로 스크롤합니다. 이미 인쇄된 줄은 지울 수 없습니다. 다음 중 하나가 필요합니다.

  1. 마지막을 제외한 모든 항목을 생략하는 기능이 내장된 콘솔/터미널 애플리케이션N새 줄을 받아 다시 그릴 때의 줄; 이것이 가능할 수도 있지만 방법을 모르겠습니다.
  2. 이를 수행할 수 있는 추가 애플리케이션은 콘솔에서 애플리케이션의 래퍼로 시작됩니다. screen아마 tmux그렇게 할 수 있을 텐데, 어떻게 해야 할지 모르겠어요.
  3. 애플리케이션의 콘솔 출력을 파이프하는 이 작업을 수행할 수 있는 애플리케이션입니다. multitail예를 들면 다음과 같습니다.

    find | env LINES=10 multitail -j
    

    의 출력이 표시되며 find한 번에 10줄 이상 표시되지 않습니다.

현재 사용 중인 OS를 명시하지 않았지만 multitailUbuntu 패키지 등 Linux에서 사용할 수 있습니다.

관련 정보