개요
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` 명령어로 정상적으로 종료하는 것이 좋습니다.