배쉬 기록을 삭제하면 배쉬 기록이 지워지는 것으로 충분하다고 생각했는데, 어제 고양이가 키보드 오른쪽을 만지작거리고 컴퓨터로 돌아왔을 때 한 달 전에 입력했던 내용을 확인하고 미친 듯이 모든 키를 눌러 무엇이 그것을 유발하는지 찾아보세요. .bash_history를 삭제한 후에도 UPARROW 키가 내 bash 기록을 표시하는 것으로 나타났습니다.
Bash 기록을 실제로 어떻게 삭제할 수 있나요?
답변1
어떤 경우에는(특정 bash 버전) 다음을 수행합니다.
$ history -c; history -w
아니면 단순히
$ history -cw
메모리의 기록을 지운 다음(위쪽 및 아래쪽 화살표에는 나열할 명령이 없음) 쓰기를 수행합니다.저것$HISTFILE
파일 에 추가합니다 ( $HISTFILE
실행 중인 bash 인스턴스에 의해 잘린 경우).
때로는 bash가 선택합니다.아니요$HISTFILE
histappend
옵션이 설정되지 않고 $HISFILEZIZE
0으로 설정된 경우에도 파일이 잘립니다.
이 경우 nuke 옵션은 항상 유효합니다.
history -c; >$HISTFILE
메모리에 기록된 명령 내역 목록과 이전에 파일에 기록된 모든 명령을 지웁니다. 이렇게 하면 실행 중인 셸에는 메모리나 디스크에 기록된 기록이 없지만, 다른 실행 중인 bash 인스턴스(기록이 활성화된)에는 $HISTFILE
bash가 시작될 때(또는history -r
복사할 때) 읽은 전체 명령 세트가 있을 수 있습니다.
의 경우반품현재 세션이 필요한 다른 항목(새 명령 없음)은 기록 파일에 기록되지 않으며 unset HISTFILE
그러한 로깅은 차단됩니다.
답변2
bash
종료 시 쉘 변수가 HISTFILE
파일 이름으로 설정된 경우 파일에 기록되는 세션 기록이 메모리에 있습니다.bash
지정된 파일을 삭제 HISTFILE
하고 변수를 설정 해제한 다음 종료하면 bash
셸 세션은 지속적인 기록을 남기지 않습니다.
HISTFILE
변수 설정을 해제하지 않고 파일을 삭제하면 영구 기록만 지워지지만 현재 세션의 기록은 셸이 종료될 때 저장됩니다.
답변3
비슷한 문제가 발생하여 다음 두 명령을 실행하여 bash 기록을 삭제했습니다.
$ history -c
$ cat /dev/null > ~/.bash_history
다음으로 모든 터미널을 종료하고 새 터미널을 시작했는지 확인하고 위쪽 화살표 버튼을 눌렀을 때 기록 명령이 표시되지 않아야 합니다.
답변4
파일 관리자를 열고 숨김 파일 표시를 선택하십시오. 홈 폴더에서 찾으세요 .bash_history
. 텍스트 편집기를 사용하여 엽니다. 파일 내용을 삭제합니다. 임무 완료.