다음 명령을 사용하여 Linux 워크스테이션에서 긴 과학 시뮬레이션(거의 일주일 동안 실행)을 실행했습니다.
time ./simulation
따라서 시뮬레이션에서 출력 파일을 얻는 것 외에도 내 목표는 시뮬레이션을 실행하는 데 걸리는 정확한 시간을 얻는 것입니다. 그러나 불행하게도 time 출력을 복사하기 전에 명령을 실행했지만 ls -la
터미널 창에는 제한된 수의 행만 표시되었습니다. 그래서 지금은 터미널 설정에서 줄수를 무제한으로 변경했는데 여전히 위로 스크롤하여 시간 정보를 볼 수 없습니다. 시뮬레이션을 다시 실행하지 않고도 이 정보를 볼 수 있는 방법이 있습니까?
답변1
더 이상 메이트 터미널에서 이 라인에 액세스할 수 없습니다.
롤백 라인 수를 늘리는 것도 도움이 되지 않습니다. 터미널은 모든 라인을 기억하지 않고 구성된 숫자만 기억합니다.
그러나 특정 터미널 탭이 아직 열려 있으면 데이터가 덮어쓰여지지 않았을 가능성이 여전히 있으며 심층 조사를 통해 복구할 수 있습니다. 마찬가지로 삭제된 파일을 덮어쓰지 않은 경우에도 복구할 수 있습니다. 디스크에서. 각 행을 스크롤하면 성공 확률이 감소합니다. 즉, 데이터가 5행 스크롤되면 복구될 가능성이 가장 높으며, 수백만 행 스크롤되면 덮어쓸 가능성이 가장 높습니다.
(해당 터미널 탭을 닫으면 데이터를 복구할 수 없습니다. 해당 데이터는 암호화된 파일로 디스크에 저장되며 터미널을 닫으면 메모리에서 암호화 키가 0이 됩니다.)
이러한 조사를 위해서는 VTE의 롤백 처리를 이해하고, 터미널 프로세스의 메모리와 열린 파일을 자세히 조사하고, 이 데이터를 주의 깊게 조사해야 합니다. 이 작업에는 며칠이 걸릴 수 있으며 보장할 수 없습니다. 전체 원시 드라이브에 액세스하면 기회가 약간 더 늘어나지만 필요한 시간이 크게 늘어나고 원격 작업이 문제가 됩니다.
매우 중요한 데이터(예: 생명을 구한 비트코인 지갑의 비밀번호 등)가 관련되어 있는 경우 VTE 내부 조사를 시작하여 조사를 수행하거나 저와 같은 사람을 고용하여 대신 수행할 수 있습니다. 물건. 일주일 동안 "단지" 실행하는 것이 가치가 없을 것 같다는 점을 고려하면 해당 작업을 다시 실행하는 것이 더 저렴합니다.
(참고: VTE(즉, 컴패니언 터미널) 스크롤백 버퍼를 처리하는 코드의 대부분을 작성했습니다.)