세션 충돌 후 손실된 터미널 명령 복구

세션 충돌 후 손실된 터미널 명령 복구

며칠 전 저는 Guake를 사용하여 다소 긴 명령( wget복잡한 옵션 세트가 포함된 웹 사이트를 다운로드하는 데 사용됨)을 실행했습니다. 수술을 하기 전에는 노트북을 매달아 놓고 며칠 동안 사용하지 않았습니다. 안타깝게도 배터리가 방전되었습니다. 다시 로그인한 후에는 명령어가 파일에 나오지 않기 때문에 .bash_history, 사용시 과케나 다른 터미널에서는 나타나지 않습니다 .

이 명령을 복원할 수 있는 방법이 있습니까? 아마도 다른 곳에 쓰여 있지 않을까요? Guake 폴더에는 bash 기록과 동등한 것이 없는 것 같습니다.

답변1

아니요, 명령을 복원하지 못할 수도 있습니다. 기본적으로 ~/.bash_history파일은 셸 세션을 종료할 때만 기록됩니다. 이것은에서 온 것입니다배쉬 매뉴얼:

기록 가능 쉘이 종료되면 마지막 몇 줄 $HISTSIZE이 기록 목록에서 이름이 지정된 파일로 복사됩니다 $HISTFILE. histappend쉘 옵션이 설정된 경우 (참조:Bash 내장 기능), 이 행은 기록 파일에 추가됩니다. 그렇지 않으면 기록 파일을 덮어쓰게 됩니다. HISTFILE설정하지 않거나 기록 파일에 쓸 수 없는 경우 기록이 저장되지 않습니다. 기록이 저장되면 기록 파일은 줄만 포함하도록 잘립니다 $HISTFILESIZE. 설정하지 않거나 null, 숫자가 아닌 값 또는 0보다 작은 숫자 값으로 설정 하면 HISTFILESIZE기록 파일이 잘리지 않습니다.

즉, 앞으로 이런 일이 발생하지 않도록 하려면 할 수 있는 일이 몇 가지 있습니다. 다음과 같은 것을 다음과 같이 추가할 수 있습니다 ~/.bash_profile.

shopt -s histappend
export HISTSIZE=-1
export HISTFILESIZE=-1
PROMPT_COMMAND='history -a;history -n'

이 주제에 대한 자세한 내용은 다음 게시물을 참조하세요.

관련 정보