터미널 기록을 지우려면 어떻게해야합니까?


93

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

터미널 기록을 완전히 지우고 싶습니다. 나는 역사를 영원히 지우겠다고 생각한 터미널에서 다음 명령을 사용해 보았지만 그렇지 않습니다.

history -c
reset
tput reset

위의 명령은 터미널에서 히스토리를 "지울 것"이지만 종료하고 새 레코드를 가져 오면 이전의 모든 히스토리가 여전히 존재하며-히스토리 명령을 사용하고 키보드의 위쪽 화살표를 눌러 다시 나열 할 수 있습니다. . 나는 내 역사를 완전히 지울 때까지 이런 일이 일어나기를 원하지 않는다. 그런 다음 계속 사용하고 싶다.

터미널 기록을 완전히 지우고 영원히 새로 시작할 수있는 방법은 무엇입니까?

참고 : 기록을 저장하지 않고 터미널을 종료하고 싶지 않은 경우이 인스턴스에서 영원히 지우십시오.


1
sed -i "s/$your_pass//g" ~/.bash_history...
jasonwryan

3
@jasonwryan sed 명령이 쉘 히스토리에서 종료되므로이 문제만으로는 해결되지 않습니다.
Gilles

1
@jasonwryan의 코드를 사용해 보았지만 다음과 같은 결과가 나타났습니다. cat / dev / null> ~ / .bash_history && history -c && exit
Shambhala

1
@ 길 : 당신 말이 맞아요 : 명령 앞에 공백이 있어야합니다 ...
jasonwryan

답변:


145

reset또는 tput reset터미널에만 일을합니다. 이력은 전적으로 쉘에 의해 관리되며 영향을받지 않습니다.

history -c현재 쉘에서 히스토리를 지 웁니다. 암호를 입력하고 해당 셸을 종료하지 않았거나 기록을 명시 적으로 저장하지 않은 경우 충분합니다.

bash를 종료하면 히스토리가 히스토리 파일에 저장되며 기본적으로 .bash_history홈 디렉토리에 있습니다. 보다 정확하게는 현재 세션 중에 작성된 히스토리가 파일에 추가됩니다. 이미 존재하는 항목은 영향을받지 않습니다. 히스토리 파일을 현재 쉘 히스토리로 겹쳐 쓰려면을 실행하십시오 history -w.

모든 내역 항목을 제거하는 대신 .bash_history편집기에서 열고 원하지 않는 행을 제거 할 수 있습니다. history모든 항목을 표시 한 다음 history -d원하지 않는 항목을 삭제하고 마지막 history -w으로 저장 하여 bash 내에서 덜 편리하게 수행 할 수도 있습니다 .

히스토리 파일을 편집 한 후에도 이전 버전의 파일에서 디스크 어딘가에 비밀번호가 여전히 존재할 수 있습니다. 더 이상 파일 시스템을 통해 검색 할 수는 없지만 디스크에 직접 액세스하여 파일을 찾는 것이 여전히 가능하지만 쉽지는 않습니다. 다른 곳에서이 암호를 사용하고 디스크를 도난 당했거나 누군가가 디스크에 액세스하면 문제가 될 수 있습니다.


1
나는 당신의 대답을 좋아하고 내가 알지 못했던 아주 유용한 것들을 당신이 나에게 말한대로 받아 들일 것입니다. 비밀번호도 변경하겠습니다!
Shambhala

history히스토리 로그의 내용과 삭제할 행 번호를 확인하려면 먼저 입력 하십시오. 히스토리 로그에서 행 번호 1000을 삭제하려는 경우history -d 1000
Claude COULOMBE

.bash_history 파일을 직접 수정해도 history 명령은 로그 아웃 / 로그인 할 때까지 수정 전과 동일한 명령을 표시합니다.
Benitok

35

history -c를 시도했지만 종료하고 다시 열면 역사가 다시 나타납니다.

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

그러면 기록 파일에 저장된 기록과 현재 세션의 기록이 지워집니다 (종료시 파일에 저장되지 않음 bash). 그런 다음 쉘을 종료합니다. 다음 쉘 세션에는 히스토리가 없습니다.


18

모든 히스토리 항목을 제거하는 대신 터미널에 다음 명령을 입력하십시오.

  1. history -c (이력 삭제)
  2. history -w (이력 저장)

inc_append_history또는 share_history옵션이 설정되어 있으면 zsh로는 충분하지 않습니다 .
saga

5

여기에는 보안 문제가 있으므로 기록 파일을 안전하게 삭제하는 것을 고려해야합니다.

$ shred -u ~/.bash_history && touch ~/.bash_history

3

같은 문제에 직면 한 신생 생물로서 나는 역사 파일을 삭제하고 다시 만드는 다소 야만적 인 편의에 의지했다.

rm .bash_history
touch .bash_history

그것은 내가 알고있는 불쾌한 부작용을 일으키지 않고 나를 위해 일했습니다.


3

유형: history -c; rm ~/.bash_history

history -c현재 세션의 기록을 rm ~/.bash_history지우고 장기 기록을 history -c; rm ~/.bash_history지우 므로 둘 다 지 웁니다.


설명은 OP가 더 잘 이해하는 데 도움이 될 수 있습니다.
Mongrel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.