터미널 기록을 지우는 방법은 무엇입니까?

터미널 기록을 지우는 방법은 무엇입니까?

저는 Linux Mint 17.1 Rebecca를 약 2일 동안 사용하다가 실수로 터미널에 비밀번호를 입력했는데, 이제 이전에 입력한 명령의 내역 목록에 비밀번호가 표시됩니다.

단말기 기록을 완전히 지우고 싶습니다. 터미널에서 다음 명령을 사용해 보았지만 기록이 영원히 지워질 것이라고 생각했지만 그렇지 않습니다.

history -c
reset
tput reset

위의 명령은 터미널에서 기록을 "지우지만" 종료하고 새 기록을 열면 이전 기록이 모두 남아 있으며 -history 명령을 사용하거나 키보드의 위쪽 화살표를 눌러 다시 나열할 수 있습니다. 다시 나열합니다. 내 기록을 완전히 지운 다음 계속 사용하고 싶습니다.

터미널 기록을 완전히 지우고 다시 시작하려면 어떻게 해야 합니까?

참고: 기록을 저장하지 않고 터미널을 종료하고 싶지 않습니다. 이 경우에는 기록을 완전히 지우십시오.

답변1

reset아니면 tput reset그냥 터미널에서 작업하세요. 기록은 전적으로 쉘에 의해 관리되며 영향을 받지 않습니다.

history -c현재 쉘에서 기록을 지웁니다. 방금 비밀번호를 입력했고 셸을 종료하지 않았거나 기록을 명시적으로 저장하지 않은 경우에는 이것으로 충분합니다(그러나 약간 과잉입니다).

Bash를 종료하면 .bash_history기본적으로 홈 디렉터리에 있는 기록 파일에 기록이 저장됩니다. 보다 정확하게는 현재 세션 중에 생성된 기록 레코드가 파일에 추가됩니다. 기존 항목은 영향을 받지 않습니다. 현재 셸의 기록으로 기록 파일을 덮어쓰려면 를 실행합니다 history -w.

.bash_history모든 기록 항목을 삭제하는 대신 편집기에서 열어 유지하고 싶지 않은 줄을 삭제할 수 있습니다. Bash에서도 이 작업을 수행할 수 있지만 historyshow all 항목을 사용한 다음 history -d필요하지 않은 항목을 제거하고 마지막으로 저장하면 덜 편리합니다 history -w.

비밀번호를 읽은 bash 인스턴스가 여러 개 실행 중인 경우 각 인스턴스가 비밀번호를 다시 저장할 수 있습니다. 마지막으로 기록 파일에서 비밀번호를 지우기 전에 실행 중인 모든 셸 인스턴스에서 비밀번호가 지워졌는지 확인하세요.

기록 파일을 편집한 후에도 이전 버전의 파일에서 디스크에 비밀번호가 계속 남아 있을 수 있습니다. 더 이상 파일 시스템을 통해 검색할 수 없지만 디스크에 직접 액세스하여 여전히 찾을 수 있습니다(그러나 아마도 쉽지는 않을 것입니다). 이 비밀번호를 다른 곳에서 사용하고 디스크가 도난당하거나 누군가가 디스크에 액세스하는 경우 문제가 발생할 수 있습니다.

답변2

나는 기록 -c를 시도했지만 종료하고 다시 열면 기록이 다시 나타납니다. 이것은 나에게 도움이 됩니다.

cat /dev/null > ~/.bash_history && history -c && exit

히스토리 파일에 저장된 히스토리와 현재 세션의 히스토리를 모두 삭제합니다( bash종료 시 파일에 저장되지 않도록). 그런 다음 쉘을 종료합니다. 다음 쉘 세션에는 기록이 없습니다.

답변3

모든 기록 항목을 삭제하는 대신 터미널에 다음 명령을 입력하십시오.

  1. history -c(기록 삭제용)
  2. history -w(기록 저장)

답변4

같은 문제에 직면한 초보자로서 나는 기록 파일을 삭제하고 다시 생성하는 다소 잔인한 해결 방법을 사용했습니다.

rm .bash_history
touch .bash_history

그것은 내가 알고 있는 불쾌한 부작용을 일으키지 않고 나에게 효과적이었습니다.

관련 정보