한 번 이상 실수로 여러 명령을 실행하고 내 배쉬 기록을 오염 시켰습니다. bash 기록을 저장하지 않고 터미널을 닫으려면 어떻게해야합니까? Fedora를 사용하고 있습니다.
한 번 이상 실수로 여러 명령을 실행하고 내 배쉬 기록을 오염 시켰습니다. bash 기록을 저장하지 않고 터미널을 닫으려면 어떻게해야합니까? Fedora를 사용하고 있습니다.
답변:
쉘 히스토리는 HISTFILE
변수가 나타내는 파일에 저장됩니다 . 그래서:
unset HISTFILE
이것은 zsh에도 적용되지만 ksh에는 적용되지 않습니다. ksh $HISTFILE
는 쉘이 시작될 때 표시되는 파일에 계속 저장 합니다 (역순으로 쉘을 시작하면 ksh에 히스토리를 저장하기로 결정 함).
짧은 답변:
프롬프트에서 이것을 입력하십시오.
$ kill -9 $$
이것은 바로 할 수있는 쉘없이 쉘을 죽일 것을 , 역사, 저장, 트랩으로 신호를 같은 실행 ~/.bash_logout
, 정지 작업에 대한 경고, 또는 좋은 물건 중 하나.
긴 대답 :
참고 :이 옵션은 상호 배타적이지 않습니다 . 한 번에 모두 사용할 수 있습니다.
옵션 1:
히스토리 파일을 어지럽히는 데있어 완벽 주의자라면 HISTIGNORE
기록하고 싶지 않은 명령을 포함 하도록 변수를 수정하면 됩니다. 예를 들어, 추가 할 경우 HISTIGNORE='ls*:cd*'
사용자에 ~/.bashrc
의 다음 인스턴스 ls
및 cd
히스토리 파일에 삽입되지 않습니다.
옵션 2 :
명령별로 명령에서 히스토리에서 제외되는 명령을 제어하려는 경우 HISTCONTROL='ignorespace'
공백으로 시작하는 명령 행이 생략되도록 설정할 수 있습니다 . 를 사용 ignoreboth
하면 반복되는 줄도 생략됩니다. 그런 다음 명령을 입력하기 전에 스페이스 바를 누르면 히스토리 파일에 표시되지 않습니다.
옵션 3 :
터미널을 닫을 때 셸이 즉시 종료되도록 trap
하려면 터미널 프로그램이 셸을 보내는 신호 ( xterm
예 : 전송 SIGHUP
한 다음 셸이 종료 될 때까지 기다림)를 할 수 있습니다. 이 신호를받습니다. 이것을 다음에 추가하십시오 ~/.bashrc
.
# don't record history when the window is closed
trap 'unset HISTFILE; exit' SIGHUP
kill -9
다른 모든 것이 실패했을 때 무서운 상황을 제외하고는 아무것도 사용하지 않는 것이 좋습니다 .
나는 history -c
바로 전에 아무도 제안하지 않은 것을보고 놀랐습니다 exit
. 잘 할 IINM (나는 전문가가 아닙니다).
history -r
가고 있습니다 : 기록 파일을 다시 읽을 것이므로 저장은 아무런 문제가되지 않습니다.
screen(1)
습니까?
scrollback=0
합니다.
Ctrl+a H
하지 않을 Ctrl+a :clear
것입니다. 당신은 필요합니다 Ctrl+a :scrollback 0
. 직접 테스트 할 수 있습니다. 새로운 화면 세션을 시작하십시오. 지금을 cat /etc/passwd
. 이제 위 Ctrl+a H
또는 -중 하나를 수행하십시오 Ctrl+a :clear
. 이제 화면 버퍼에서 donig a로 복사 한 Ctrl+a [
다음 위쪽 화살표를 눌러 올라가서 복사 할 수있는 거리를 확인하십시오. Ctrl+a :scrollback
뒤에 a를 수행하면 clear
스크롤 백 버퍼가 없으므로 현재 창에서 볼 수있는 한 멀리 만 이동합니다.
set HISTFILE
다음에 로그인 할 필요가 없습니까? (이 올바른 또는 잘못된 경우 바로 말)