Linux의 Screen에서 내 기록을 더 많이 보려면 어떻게해야합니까?


54

Linux EC2 인스턴스의 화면 내부에서 명령 줄에서 밤새 스크립트를 실행하고 추적하지 않은 일부 오류가 발생했습니다. 화면에서 "스크롤"하거나 더 많은 기록을보고 싶지만 작동하는 명령을 찾지 못하는 것 같습니다.

현재 화면에서 볼 수있는 것보다 화면 출력이 "추가로"더 높아야합니다. CTRL + a는 화면 내에서 스크롤 모드로 전환해야하지만 작동하지 않습니다.


history | less, more? 아니면 더 많은 역사를 유지하는 방법을 묻고 있습니까?

history쉘에서 실행 된 명령 만 유지합니다. 그는 일종의 물건을 기록하는 것에 대해 더 많은 것을 요구하고 있습니다

<Shift>+ <PgUp>만이 유일한 옵션입니다. 그리고 그것은 또한 약간의 한계가 있습니다 (최대 500 줄).
ssapkota 2016 년

현재 화면에서 볼 수있는 것보다 화면 출력이 "추가로"더 높아야합니다. CTRL + a는 화면 내에서 스크롤 모드로 전환해야하지만 작동하지 않습니다.
T. Brian Jones

1
그냥 Ctrl-a이다 screen의 탈출. Ctrl-a [opyate에 따르면 스크롤 백 모드로 들어가는 전체 키 시퀀스 는입니다. Ctrl-a ESC또한 나를 위해 일하고, 어느 것이 표준 / 일반적으로 사용되는지 기억하지 못합니다.
ninjalj

답변:


32

화면을 시작할 때 -h를 사용하여 스크롤 백 버퍼의 크기를 지정할 수 있으므로 기본값 인 100 줄에서이를 늘릴 수 있습니다. 그러나 현재 실행중인 화면에서 데이터가 버퍼를 떠나면 사라집니다.


3
이것은 명백한 잘못입니다. @opyate의 답변은 해결책을 제공합니다
nirvana-msu

6
@ nirvana-msu ^ a를 사용하여 스크롤 백 모드로 들어가면 스크롤 백 버퍼를 페이징 할 수 있습니다. 데이터가 이미 스크롤 백 버퍼에서 사라지면 사라집니다. 시작할 때 해당 bufer의 크기를 늘릴 수 있습니다. 내 대답은 정확히 무엇이라고 생각하십니까? 스크롤 백 버퍼의 크기를 늘리는 것에 대해 이야기합니다. opyate는 사용 방법에 대한 세부 정보를 제공합니다.
William Pursell

2
글쎄, 문제는 실제로 스크롤 버퍼를 확장하는 것에 관한 것이 아닙니다. 작성자는 콘솔에 일반적으로 표시되는 것보다 더 많은 기록을 보려고했으며을 사용하여 더 많은 기록을 볼 있습니다 Ctrl+a+[. 당신의 대답은 불가능한 것처럼 보이게 만듭니다.
nirvana-msu

이것은 Mac에서 작동하지 않습니다. 다른 답변도 작동하지 않습니다.

76

이스케이프 시퀀스를 재정의하지 않았다고 가정하면을 눌러 Ctrl-a [스크롤 백 모드로 이동 한 다음 일반적인 Page-UP / Page-DOWN 또는 Ctrl-b / Ctrl-f를 사용하여 위아래로 이동할 수 있습니다.

에서 화면 사용에 젠투 위키


7
및 스크롤바로 모드를 종료하기위한 ESC, IIRC
ninjalj


또한 마우스 작동으로 스크롤하는 방법에 대해서는 이 게시물 을 참조하십시오 . 게시물 이름은 tmux의 이름이지만 화면에도 표시됩니다
JonnyRaa

2
Ctrl+ A, Esc또한 복사 / 스크롤 백 모드로 진입한다.
Sroo Stroobandt

7

script출력을 디스크에 기록하는 명령에서 명령을 실행할 수도 있습니다 . 또는 command 2>&1 | tee /tmp/cmd.out향후 조사를 위해 출력을 기록하여 (실제로) 무한한 크기의 출력 기록을 원했습니다.


이것이 내가 작업에 사용한 결과입니다. 잘 작동합니다. 감사.
T. Brian Jones

6

현재 화면에서 볼 수있는 것보다 화면 출력이 "추가로"더 높아야합니다. CTRL + a는 화면 내에서 스크롤 모드로 전환해야하지만 작동하지 않습니다.

다른 답변을 보완하기 위해 ~/.screenrc파일에 추가 할 수 있다고 지적 합니다.

defscrollback 100000
termcapinfo xterm ti@:te@

어디:

  • defscrollback 100000: 기본 스크롤 백 행 수를 100000
  • termcapinfo xterm ti@:te@: xterm 또는 PuTTY에서 터미널 스크롤을 허용합니다. ( 화면 FAQ ; PuTTY FAQ )

Mac에서 작동하지 않습니다. 어떤 대답도 여기에서 작동하지 않습니다. 여전히 터미널 창의 크기를 볼 수 있습니다. 더 나아가서 screen명령과 내가 스크린 전에 한 것들입니다. 나는 또한 screen -h같은 결과를 시도했다 . 어떤 아이디어?

@ 아무도 미안하지만 우분투에서만 시도했습니다.
Franck Dernoncourt

1
아, control+로 작동 a한 다음 ESC커서로 텍스트 내부를 스크롤 할 수 있습니다. 작동하지 않는 것은 측면의 Mac 터미널 슬라이더를 사용하여 마우스로 스크롤하는 것입니다. 감사!

5

또한 10k 라인의 히스토리 버퍼를 원하는 경우 시퀀스를 사용하여 실행중인 화면에서 스크롤 백 히스토리 크기를 변경할 수 있습니다 CTRL-a :(화면 명령 행 모드 입력) scrollback 10000. 변경 사항이 즉시 적용됩니다.

버퍼가 매우 긴 화면을 많이 사용하는 경우 메모리 사용에주의하십시오.

그러나 @William Pursell은 현재 실행중인 화면에서 데이터가 버퍼를 떠나면 사라집니다.


0

사용중인 터미널 프로그램에 따라 일반적으로 설정에서 스크롤 버퍼를 변경할 수 있습니다. 내가 알고 xterm먼저 스크롤을 활성화해야합니다, 당신은 무한 할 수있는 버퍼를 설정할 수 있습니다.

그러나 스크립트를 로깅하는 가장 좋은 방법은 표준 출력을 파일로 리디렉션하는 것입니다.

ScriptName >> OutputFile.txt

이 방법을 사용하면 자유롭게 스크롤하고 검색 할 수있을뿐만 아니라 기록을 유지할 수 있습니다 (예 : 컴퓨터 충돌시).

편집 : 이것은 위의 배관 솔루션과 비슷하지만 표준 입력을 리디렉션하면 다른 경우에도 유용 할 수 있습니다.

grep linux stackoverflow.txt > linuxquestions.txt

또는

cat linuxquestions.txt | grep buffersize > bufferquestions.txt

참고 수행 screen(1)하지 않습니다 수 있도록 터미널 스크롤. 그것은 주요 기능 중 하나이며 주요 단점 중 하나입니다.
sarnold

@sarnold 터미널 스크롤을 허용 할 수 있습니다. superuser.com/a/1336554/116475
Franck Dernoncourt

0

사용하여 맥 OS 터미널 I 것은 텍스트의 역사를 볼 수있는 측면의 슬라이더를 사용 할 수 없습니다.

나는 사용하여 텍스트 내부에 커서를 스크롤 할 수 있었다 이후 나는 공격 CRTL+ a다음과 ESC.

그리고 ~/.screenrc창 내부에서 마우스 스크롤을 사용하려면 슬라이더를 사용하지 말고 이것을 추가해야했습니다 .

termcapinfo xterm* ti@:te@
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.