> 환경 및 유틸리티 > script

script: 터미널 세션 기록

script 명령어는 터미널 세션을 기록하여 '타입스크립트(typescript)' 파일로 저장합니다. 이 파일에는 사용자가 입력한 명령과 터미널에 출력된 모든 내용이 포함됩니다. 기록된 세션은 나중에 검토하거나, 재현하거나, 다른 사람과 공유하는 데 유용하게 사용될 수 있습니다.

개요

script는 터미널에서 수행되는 모든 작업을 텍스트 파일로 기록합니다. 이는 교육, 문제 해결, 감사 목적으로 활용될 수 있으며, 기록된 세션은 scriptreplay 명령어를 통해 재생할 수 있습니다.

주요 특징

  • 터미널 세션의 모든 입출력 기록
  • 기본적으로 'typescript' 파일에 저장
  • 기존 파일에 내용 추가 가능
  • 특정 명령어 실행 결과만 기록 가능
  • 세션 타이밍 정보 기록 및 재생 지원

주요 옵션

script 명령어의 주요 옵션들은 기록 방식, 출력 파일 관리, 그리고 세션 정보 기록에 영향을 미칩니다.

기록 및 파일 관리

생성된 명령어:

명령어를 조합해 보세요.

설명:

`script` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

script 명령어의 다양한 사용 예시를 통해 터미널 세션을 효과적으로 기록하는 방법을 알아봅니다.

기본 사용법 (기록 시작 및 종료)

script
# 이제부터 입력하는 모든 명령과 출력은 기록됩니다.
ls -l
pwd
exit

script를 실행하면 현재 세션의 모든 입출력이 'typescript'라는 파일에 기록되기 시작합니다. 기록을 종료하려면 'exit'를 입력합니다.

특정 파일에 세션 기록

script my_session.log
# 세션 기록...
exit

기본 'typescript' 파일 대신 원하는 이름의 파일에 세션을 기록합니다.

기존 파일에 세션 추가

script -a my_session.log
# 추가 세션 기록...
exit

이미 존재하는 기록 파일에 새로운 세션 내용을 덮어쓰지 않고 이어서 추가합니다.

특정 명령어만 기록

script -c "ls -la /tmp" ls_tmp.log

대화형 셸을 시작하지 않고, 지정된 단일 명령어의 실행 결과만 기록하고 즉시 종료합니다.

타이밍 정보와 함께 기록

script -t 20231027_timing.log my_session_with_timing.log
# 세션 기록...
exit

세션 내용과 함께 각 출력의 타이밍 정보를 별도의 파일에 기록합니다. 이 두 파일은 scriptreplay로 세션을 재생할 때 사용됩니다.

팁 & 주의사항

script 명령어를 더욱 효과적으로 사용하고, 발생할 수 있는 문제에 대비하기 위한 팁과 주의사항입니다.

기록된 세션 확인

기록된 'typescript' 파일은 일반 텍스트 파일이므로 `cat`, `less`, `more` 등의 명령어로 내용을 확인할 수 있습니다. 단, 특수 문자나 제어 코드가 포함될 수 있어 `less -R` 또는 `cat -v`가 더 유용할 수 있습니다.

  • 기본 파일 확인: `cat typescript`
  • 특정 파일 확인: `less my_session.log`

세션 재생 (scriptreplay)

`-t` 옵션으로 타이밍 정보를 기록했다면, `scriptreplay` 명령어를 사용하여 기록된 세션을 실제 터미널에서 재생할 수 있습니다. 이는 데모나 교육용으로 매우 유용합니다.

  • 재생 명령어: `scriptreplay 20231027_timing.log my_session_with_timing.log`

보안 및 개인 정보 보호

script는 입력된 모든 내용을 기록하므로, 비밀번호나 민감한 정보가 파일에 그대로 저장될 수 있습니다. 기록된 파일의 접근 권한을 적절히 설정하고, 민감한 작업 시에는 사용에 주의해야 합니다.

  • 주의: 비밀번호, API 키 등 민감한 정보가 기록될 수 있으므로 주의
  • 권장: 기록 파일의 권한을 `chmod 600` 등으로 설정하여 보호

기록 중단 시 주의

script 세션 중에 터미널이 비정상적으로 종료되거나 (예: Ctrl+C를 여러 번 눌러 script 프로세스 자체를 종료), 전원이 끊기는 경우 기록 파일이 손상되거나 불완전하게 저장될 수 있습니다. 항상 `exit` 명령어로 정상적으로 종료하는 것이 좋습니다.


동일 카테고리 명령어