터미널 기록을 수동으로 저장하는 방법?


33

터미널이 종료되면 기록 파일이 업데이트된다는 것을 이해하고 있습니다. 그러나 때로는 내 컴퓨터가 고장 나고 터미널이 깨끗하게 종료되지 않고 내 역사에서 그 명령을 잃어 버립니다. 컴퓨터가 녹아 버려도 항목이 계속 남아 있도록 즉시 세척하려면 어떻게해야합니까? 순간 내가 사용하고 해결 방법을,하지만 난 더 나은 방법이 있어야한다고 생각한다.

우분투 12.10에서 그놈 터미널을 사용하고 있습니다.

답변:


17

수퍼 유저 사이트에서 제공 한 링크의 답변이 반드시 history명령의 기본 동작 에 대한 '해결 방법'으로 간주되어서는 안됩니다 . bash 셸에는 기본 동작이 그대로 있습니다.

나는 히스토리 라인을 잃는 것을 피할 수있는 방법을 읽는 것이 좋습니다 . 이러한 수정 작업을 설명 history합니다. 또한 이것이 왜 history명령 의 기본 동작이 아닌지에 대해 합리적인 우려가 있습니다 .

  • 성능 - 당신이 가진 모든 창에서 모든 명령을 저장하기 때문에 history -a.bash_history파일이 매우 커질 및 bash 쉘을로드하는 데 더 많은 자원을 필요로 할 수 있습니다. 이로 인해 시작 시간이 길어질 수 있습니다 (전체 시스템 시작이 아닌 터미널 세션 자체).

  • 조직-(위 기사에서) "대화 형 대화식 쉘의 히스토리 명령 (주어진 사용자에 대한)은 서로 얽혀있을 것입니다. 따라서 히스토리는 단일 쉘에서 실행될 때 명령의 순차적 인 명령 목록이 아닙니다."

bash 쉘과. bash_history감사를 통해 파일을 작성하려면이 기사를 살펴보십시오. 히스토리 제거에 대해 히스토리 또는 "보안"bash를 어떻게 기록합니까?

경우에 따라 (예 : 불안정한 시스템 또는 정전) 아래 명령이 유용하다는 것을 알았습니다.

~/.bashrc파일에 다음 줄을 추가 하십시오.

unset HISTFILESIZE
HISTSIZE=3000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND

shopt -s histappend

.bashrc명령을 사용 하여 파일 을 소싱하십시오source ~/.bashrc



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.