과거 GNU 화면 출력을 파일로 저장

과거 GNU 화면 출력을 파일로 저장

나는 며칠 동안 GNU 스크린 세션을 실행해 왔습니다. 나는 터미널의 내용(위로 스크롤하여 볼 수 있음)을 파일에 저장해야 하는 상황에 처했습니다. 가능합니까? 5000줄을 넘지 않을 것으로 예상됩니다.

화면 녹화를 설정하는 방법을 찾았습니다미래파일로 출력합니다. 하지만 이 경우에는 과거 출력(또는 가능한 한 많은 기존 출력)도 저장해야 합니다.

답변1

hardcopy -h명령을 사용하여 현재 스크롤 버퍼의 내용을 파일에 저장할 수 있습니다 . 에 명시된 바와 같이 man screen:

   hardcopy [-h] [file]

   Writes out the currently displayed image to the file file, or,
   if no filename is specified, to hardcopy.n in the default
   directory, where n is the number of the current window.  This
   either appends or overwrites the file if it exists. See below.
   If the option -h is specified, dump also the contents of the
   scrollback buffer.

당신은 말한다:

5000줄을 넘지 않을 것으로 예상됩니다.

5000줄은 정말 많은 양이다. 스크롤 버퍼의 기본 길이는 screen5000줄이 아닌 100줄입니다. 더 큰 스크롤 버퍼 설정으로 세션을 시작하지 않으면 screen약 5000행의 스크롤 버퍼가 모두 검색되지 않습니다.

답변2

한 가지 방법은 복사 모드를 사용하여 전체 롤백 기록을 복사한 다음 파일에 덤프하는 것입니다. (더 좋은 방법이 있을 수도 있습니다.)

기본 키 바인딩을 사용하면 다음과 같습니다.

  • Ctrl-A는 화면에 명령을 보냅니다.
  • [복사 모드 시작
  • g맨 위로 이동
  • 스페이스바는 스크롤백 버퍼(현재 위치)의 시작 부분을 복사할 텍스트의 시작 부분으로 표시합니다.
  • G끝까지 가라
  • 복사하려는 텍스트의 끝 부분을 입력한 후 복사하세요.

그런 다음 vim을 열고 실행하여 :set paste자동 들여쓰기와 같은 문제를 피한 다음 Ctrl-A ]붙여넣기를 사용하세요.

관련 정보