과거 표준 출력은 어디에 저장되나요?

과거 표준 출력은 어디에 저장되나요?

어디에든 로그인되어 있나요? 터미널이 충돌한 후 표준 출력은 어디로 가나요? 실행되는 동안 쉽게 저장할 수 있다는 것을 알고 있지만 때로는 터미널이 사라질 때 필요하다는 것을 깨닫는 경우도 있습니다.

답변1

아니요, 터미널이 사라지면 출력도 사라집니다. 그 중 일부는 한동안 RAM에 남아 있을 수도 있고, 일부는 다양한 로깅 설정으로 인해 로그에 저장되었을 수도 있지만 기본적으로는 손실되었습니다. 이는 의도적인 것입니다. 정보가 기록되면 디스크가 매우 빨리 채워지고(셸을 사용하여 모든 작업을 수행하면 실제로 문자가 증가함) 최소한 일부 기밀 정보가 포함될 수 있습니다. 한번은 그놈 터미널 스크롤백 버퍼를 무제한으로 설정해 보았습니다. 얼마 지나지 않아 내 컴퓨터는 크롤링 속도가 느려지기 시작했습니다. 터미널이 내 메모리를 모두 소모합니다!

exec > /tmp/stdout.log 2> /tmp/stderr.log~/.bashrc(테스트되지 않음)의 콘텐츠를 사용하여 로그 회전 과 같은 멋진 로깅을 설정할 수 있지만 logstash여전히 일정 기간 동안 기밀 정보를 유지해야 하는 기본적인 문제가 있습니다.

대부분의 사람들이 하는 일은 명령을 저장하는 ~/.bash_history와 같은 쉘의 기록 파일에 의존하는 것입니다.복사결과.

답변2

script ~/terminal_logs/$(date +%Y%m%d-%H%M%S)-$(tty)-$$.log로그인 시 터미널에서 사용됩니다. 이렇게 하면 셸이 시작된 날짜와 시간, 터미널, 셸 프로세스 ID를 따라 이름이 지정된 파일에 세션이 저장됩니다.

관련 정보