영구 셸 기록 삭제

영구 셸 기록 삭제

누군가 이 명령을 사용하여 영구 쉘 기록을 삭제하도록 제안했습니다.

history -c; >$HISTFILE

그것이 무엇을 하는지 정확히 알기 전까지는 실행하고 싶지 않습니다. 도와주실 수 있나요?

답변1

이는 하나가 아닌 로 구분된 두 개의 명령입니다 ;. 당신은 을 가지고 있고 history -c, 그 다음에는 을 가지고 있습니다 > $HISTFILE. 질문에 지정하지 않았지만 사용한다고 가정하면 명령이 어떻게 작동하는지 확인할 bash수 있습니다 . 이 옵션의 내용은 다음과 같습니다 .help historyhistory-c

  -c    clear the history list by deleting all of the entries

따라서 history -c현재 셸 세션의 모든 기록이 삭제됩니다 .

글로벌 히스토리는 변수에 저장된 파일에 저장됩니다 $HISTFILE. 기본적으로 이는 다음과 같습니다 ~/.bash_history.

$ echo $HISTFILE
/home/terdon/.bash_history

Bash 쉘에서 >명령이 없는 리디렉션 연산자는 파일을 비웁니다. 예를 들어:

$ echo "Hello world!" > file
$ cat file
Hello world!
$ > file
$ cat file
$ 

위에서 볼 수 있듯이 실행하면 > file파일이 지워지므로 실행하면 > $HISTFILE기록 파일이 지워집니다.

따라서 이 모든 것이 결합되면 history -c; > $HISTFILE현재 셸의 기록이 지워지고 사용자의 저장된 기록도 모두 삭제됩니다.

관련 정보