Bash에서 기록 추적을 일시적으로 중단하여 일종의 "스텔스" 모드로 들어갈 수 있는 방법이 있습니까? 기록하고 싶지 않은 민감한 금융 정보를 단말기에 입력하고 있습니다.
답변1
이렇게 하면 bash가 쉘을 종료할 때 새로운 기록을 저장하지 못하게 됩니다:
unset HISTFILE
구체적으로 다음과 같습니다 man bash
.
HISTFILE이 설정되지 않거나 기록 파일에 쓸 수 없는 경우 기록이 저장되지 않습니다.
재설정하시면 HISTFILE
이력이 정상적으로 저장되니 주의하시기 바랍니다. 이는 쉘 세션이 종료되는 순간에만 영향을 미칩니다.
또는 세션 중에 이 기능을 껐다가 다시 켜려는 경우 사용하기 더 쉬울 수 있습니다.set
:
set +o history # temporarily turn off history
# commands here won't be saved
set -o history # turn it back on
답변2
bash를 사용하여 HISTCONTROL="ignorespace"
기록에 기록하지 않으려는 명령을 설정하고 명령 앞에 공백을 추가하십시오. 조치를 취하는 것을 잊은 경우 history -d <number>
특정 항목을 삭제하거나 history -c
전체 명령 기록을 지울 수도 있습니다.
답변3
를 HISTCONTROL
포함 해야 ignorespace
합니다 HISTCONTROL=ignorespace
. 그러면 공백으로 시작하는 모든 명령줄이 기록에서 생략됩니다.HISTCONTROL=ignoredups:ignorespace
~/.bashrc
또 다른 가능성은 기록을 저장하지 않고 새로운 bash 세션을 시작하는 것입니다.
$ bash
$ unset HISTFILE
$ sooper-sekret-command
$ exit
$ #back in the parent shell
답변4
명령이 파일에 저장되지 않도록 기록을 끄는 쉬운 방법이 있습니다 .bash_history
.
명령이 기록에 저장되지 않도록 명령 앞에 공백이나 탭 문자를 넣어야 합니다. 예를 들어:
$ ls
print the list of file
$ history
ls
history
$ pwd
print the current working directory
$ history
ls
history
명령 pwd
앞에 공백이 있기 때문에 기록에 저장되지 않습니다.