화면 내부 스크롤 또는 출력 일시 중지

화면 내부 스크롤 또는 출력 일시 중지

나는 사용한다화면내가 일하는 서버를 관리하면서 명령줄 작업을 수행합니다. 나는 보통 작은 명령(주로 파일 시스템 작업)을 실행하지만 때로는 더 광범위한 작업(예: DBA)을 실행합니다.

그만큼산출그 일 중 하나가 나에게 중요해요. 작업에 Ubuntu와 OS X(둘 다 터미널 Windows)를 사용하지만 화면을 사용해야 하기 때문에 스크롤을 사용할 수 없으므로 긴 출력(선택 항목의 500행 테이블)이 보이지 않습니다. 마우스 휠은 의문의 여지가 없습니다.

"스크롤이 나에게 보이지 않는다는 의미는 다음과 같습니다.

화면을 사용하는 동안 상단, Mac OS X에서 스크롤하는 동안

저는 두 가지 옵션을 생각하고 있었습니다.

  1. 잠시 멈춤(생각해 보세요.페이지 매기기) 특정 명령의 출력. 출력이 시작되면 무슨 일이 일어나고 있는지 읽을 수 있으며 "Enter" 키를 누르면 더 이상 표시할 내용이 없을 때까지 출력이 계속됩니다.

  2. 화면 내부를 스크롤합니다. 그러나 이것이 가능한지는 모르겠습니다.

물론, 그 옵션이 실제로 유효한지는 모르겠습니다.가능한. 그렇다면 어떻게 달성할 수 있습니까? 다른 대안도 호평을 받을 것입니다.

답변1

Screen은 터미널 멀티플렉서이므로 자체 스크롤 버퍼를 가지고 있습니다.여러 개의버퍼.

어쩌면 더 좋은 방법이 있을 수도 있지만 저는 "복사 모드"를 사용하여 스크롤하는 데 익숙합니다. 이 모드는 붙여넣기 명령도 필요하지만 화면 자체를 사용하여 텍스트를 복사하는 데 사용할 수 있습니다.

  • 화면 접두어 조합( 기본적으로 C-a/ control+ )을 누른 다음 또는 를 누르십시오 .AEscape[

  • 화살표 키( 및 ) 를 사용하여 위아래로 이동합니다 .

  • 완료되면 화살표 키, 숫자, 특정 문자를 제외한 아무 키나 누르면 스크롤 버퍼의 끝으로 돌아갑니다. 대부분의 사람들이 사용 q하거나Escape

(종료하는 대신 Enter또는 키를 누른 Space다음 커서를 이동하면 복사할 텍스트를 선택하기 시작하고 또는 키를 두 번째로 누르면 Enter복사 Space됩니다. 그런 C-a다음 을 붙여넣을 수 있습니다 ].)

물론 일반적으로 사용되는 두 가지 호출기인 more및 를 항상 사용할 수 less있으며 이는 일부 명령에 충분할 수 있습니다.

답변2

screen지적한대로 버퍼 사용작성자: njsg좋은 해결책입니다. 화면 내부의 xterm termcap 정보에서 대체 텍스트 버퍼를 비활성화할 수도 있습니다. 비활성화되면 스크롤 막대(및 마우스 휠)를 사용하여 위아래로 스크롤할 수 있습니다.

이것을 ~/.screenrc.

# Enable mouse scrolling and scroll bar history scrolling
termcapinfo xterm* ti@:te@

더 많은 토론을 읽을 수 있습니다여기.

답변3

이 모든 답변은 화면 세션 내에서 탐색하는 방법을 다루었지만화면 명령에는 모든 것을 파일에 저장하는 기능이 내장되어 있습니다.-L다음과 같은 매뉴얼에 따른 주장을 통해 :

-L은 창에 대한 자동 출력 로깅을 켜도록 화면에 지시합니다.

그래서 당신은 할 수 있습니다 :

screen -L -S testscreen

그러면 현재 디렉토리에 0부터 시작하는 해당 화면의 숫자인 screenlog.#이름 을 가진 파일이 생성됩니다 .#

여기에는 많은 장점이 있으며 저에게 가장 중요한 것은 다음과 같습니다.

  1. 나중에 참조할 수 있도록 프로젝트 폴더에 로그 파일을 저장할 수 있으므로 내가 수행한 작업을 기록해 둡니다.
  2. 프로세스를 비활성 및 수동적으로 모니터링할 수 있습니다.
    • tail -F화면에 첨부하지 않고 실시간으로 진행 상황을 모니터링하는 데 사용합니다 .
    • grep로그에서 특정 용어를 확인하고 알림(이메일, 팝업, VoIP 등)을 생성하는 데 사용합니다 . 이는 적극적으로 화면을 보지 않고도 여러 화면에 적용할 수 있습니다.

답변4

more예를 들어, 콘텐츠를 에 파이핑하여 기본 페이징을 얻는 데 성공했습니다 .

ls -l | more

또는 구문 강조와 같은 사용 사례에 대해 색상 출력을 원하는 경우 다음을 사용할 수 있습니다.

ls -l --color=always | more

결과적으로 한 번에 한 화면씩 쉽게 페이지를 이동할 수 있는 출력이 생성됩니다. @uther의 수정을 시도하지는 않았지만 ~/.screenrc마우스를 사용할 수 있을 때 지속적인 솔루션으로 선호되는 것 같습니다.

이것을 시험해 보려면 다음으로 이동하십시오.이 BusyBox 에뮬레이터그런 다음...

cd ~/bin
ls -l --color=always | more

스페이스바를 사용하여 명령 결과 페이지를 살펴보거나 ls -lEnter 키를 사용하여 결과를 한 줄씩 이동합니다.

관련 정보