일종의 “시크릿”모드로 들어가기 위해 bash에서 기록 추적을 일시적으로 중지하는 방법이 있습니까? 기록 된 민감한 재무 정보를 원하지 않는 물건을 터미널에 입력하고 있습니다.
답변
이것은 당신이 찾고있는 것이어야합니다 :
unset HISTFILE
에서 man bash
HISTFILE을 설정하지 않았거나 기록 파일을 쓸 수없는 경우 기록이 저장되지 않습니다.
또는이 기능을 껐다가 다시 켜려면 사용하기가 더 쉬울 수 있습니다 set
.
끄다
set +o history
켜다
set -o history
답변
bash를 사용하여 HISTCONTROL="ignorespace"
히스토리에 기록하지 않으려는 명령을 공백으로 설정 하고 선행하십시오. 조치를 잊어 버린 경우 history -d <number>
특정 항목 history -c
을 삭제하거나 전체 명령 기록을 지우는 것도 있습니다.
답변
이 HISTCONTROL
포함되어 있는지 확인하십시오 ignorespace
. 당신은 아마 추가 할 수 있습니다 HISTCONTROL=ignorespace
(또는 HISTCONTROL=ignoredups:ignorespace
당신 또는 무언가) ~/.bashrc
. 그런 다음 공백으로 시작하는 명령 줄은 기록에서 생략됩니다.
또 다른 가능성은 기록을 저장하지 않는 새 bash 세션을 시작하는 것입니다.
$ bash
$ unset HISTFILE
$ sooper-sekret-command
$ exit
$ #back in the parent shell
답변
여러 명령을 저장하지 않아도되지만 여전히 위쪽 화살표를 사용하여 이전 명령에 액세스하려면 다음을 사용하십시오.
$ bash # open a new session.
$ unset HISTFILE # avoid recording commands to file.
$ commands not recorded
.
.
$ exit
$
명령 저장 방법을 제어하는 네 가지 방법 (레벨)이 있습니다.
-
첫 번째이자 가장 간단한 방법은 다음을 사용하는 것입니다
ignorespace
.$ HISTCONTROL="ignorespace${HISTCONTROL:+:$HISTCONTROL}"
그러면 메모리 목록에 기록하지 않으려는 명령 앞에 공백을 사용할 수 있습니다
history
. 결과적으로 파일로 보낼 수있는 메모리에 기록 된 명령이 없으므로에 나열된 파일로 하나의 명령을 보내지 않아도 됩니다$HISFILE
. -
에 파일에 명령을 기록하지 마십시오
$HISTFILE
.$ unset HISTFILE
설정하지 않으면, 쉘이 종료 될 때 명령 히스토리가 저장되지 않습니다.
Null
HISTFILE=''
및 / 또는HISTFILE=/dev/null
동일한 효과 로 작동하도록 설정되었습니다 . 명령이 여전히 메모리 목록에 기록되고 있음을 이해history
하거나 명령 또는 위쪽 화살표를 시도하십시오 .경고 : 쉘이 존재하기 전에 HISTFILE을 재설정하면 메모리에 기록 된 모든 내용이 파일에 기록 될 수 있습니다.
-
메모리의 히스토리 목록에 새 명령을 기록하지 마십시오 . 그리고 메모리에 있지 않기 때문에 파일에 기록 할 수 없습니다.
$ shopt -ou history # or set +o history
shopt -os history
(또는set -o history
)로 다시 활성화 -
메모리의 히스토리 목록에서 모든 명령을 제거하십시오.
$ HISTSIZE=0
모든 명령은 (메모리에서) 지워 지므로 변수가 유효한 숫자 값으로 다시 설정 될 때까지 파일에 아무것도 저장할 수 없습니다.
답변
기록을 끄는 간단한 방법이 하나 있으므로 명령이 .bash_history
파일에 저장되지 않습니다 .
명령 앞에 공백이나 탭 공간을 넣어야 명령이 기록에 저장되지 않습니다. 예를 들면 다음과 같습니다.
$ ls
print the list of file
$ history
ls
history
$ pwd
print the current working directory
$ history
ls
history
pwd
는 앞에 공백이 있기 때문에 명령은, 역사에 매장을받지 않습니다.
답변
export HISTFILE=/dev/null
그것이 나의 길입니다. 설정되지 않은 HISTORY / HISTFILE / HISTCONTROL 등이 작동하지 않는 경우 / dev / null로 내 보내면 항상 효과가 있습니다.