답변:
두 개의 변수 (HISTIGNORE HISTCONTROL)를 설정하여 기본 우분투 설정을 되돌릴 수 있습니다. 다음과 같은 명령을 사용하십시오.
HISTIGNORE='!( *)'
HISTCONTROL=ignoredups
HISTCONTROL=ignoredups
히스토리 동작을 변경하여 중복 행만 무시하고 공백으로 시작하는 행은 무시하지 않습니다. ( HISTCONTROL=
중복을 유지하려면 HISTCONTROL을 빈 문자열 ( )로 설정할 수도 있지만 일반적으로 원하지는 않습니다.)
HISTIGNORE='!( *)'
공백으로 시작하지 않는 모든 행을 히스토리에서 무시합니다. 공백으로 시작하는 ( *)
모든 행과 일치하지만 행은 공백을 무시 !
하므로 공백으로 시작하지 않는 모든 항목과 일치합니다. 그리고 HISTIGNORE 패턴과 일치하는 모든 것은 역사에서 무시됩니다. (이 후자의 옵션을 사용하려면을 extglob
켜고 bash를 실행해야 shopt -s extglob
하지만 Ubuntu의 기본 설정입니다.)
이것을 영구적으로 만들고 싶다면 위의 두 명령을에 넣으십시오 ~/.bashrc
.
HISTIGNORE='ls*:cd*'
하면 역사가 ls
또는로 시작하는 모든 행을 무시하게됩니다. 또는 cd
다른 명령으로 해당 목록을 확장 할 수 있습니다 :
. 명령 사이에 넣으십시오. . 그러나 "위쪽 화살표 키"로 액세스 할 수있는 명령 호출 기능도이 히스토리를 사용하므로 무시하도록 설정하면 "무시 된 명령을 호출 할 수 없습니다. 위쪽 화살표 "
ssh-copy-id
or 같은 명령은 무시하고 싶었습니다 ssh-keygen
. 에서 다른 무시 된 명령과 함께 HISTIGNORE
" ssh\ *
"을 (를) 포함했습니다 . 공백 문자를 피하는 것이 필수 인 것으로 보입니다.
" 접두사가 공백 인 터미널에서 실행 된 명령은 명령 기록 파일에 기록되지 않습니다 "
그렇습니다.
.bashrc
.. 난 그 모든 기록에서 떠들썩한 파티를 방지하기 위해 필요한cd
들,ls
S와 I가 사용하는 다른 일상 명령; 역사상 필요한 몇 가지 명령에 대해서는 이제 접두사를 사용할 수 있습니다.