답변:
설정 HISTSIZE
및 HISTFILESIZE
빈 문자열의 .bashrc에 :
HISTSIZE=
HISTFILESIZE=
bash 4.3 이상 에서는 다음 을 사용할 수도 있습니다 HISTSIZE=-1 HISTFILESIZE=-1
.
n. Setting HISTSIZE to a value less than zero causes the history list to be
unlimited (setting it 0 zero disables the history list).
o. Setting HISTFILESIZE to a value less than zero causes the history file size
to be unlimited (setting it to 0 causes the history file to be truncated
to zero size).
HISTSIZE= HISTFILESIZE=
하면 적어도 나에게 bash 기록이 완전히 비활성화됩니다.
HISTSIZE=-1 HISTFILESIZE=-1
내 역사를 비활성화 HISTSIZE= HISTFILESIZE=
했지만 트릭을 수행했습니다. CentOS 7은 여기에 있습니다.
HISTSIZE= HISTFILESIZE=
당신 보다 생각export HISTSIZE=
export HISTFILESIZE=
수년에 걸쳐 많은 크고 추악한 반복과 이상한 일이 일어난 후에, 나는 이것을 위해 .bashrc 의 간결한 섹션을 가지고 있습니다 .
먼저 .bashrc의이 섹션을 주석 처리하거나 제거 해야합니다 (Ubuntu의 기본값). 그렇지 않으면 screen
세션 실행과 같은 특정 환경에서 여전히 기록이 잘립니다.
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
# HISTSIZE=1000
# HISTFILESIZE=2000
둘째, 이것을 .bashrc의 맨 아래에 추가 하십시오 :
# Eternal bash history.
# ---------------------
# Undocumented feature which sets the size to "unlimited".
# http://stackoverflow.com/questions/9457233/unlimited-bash-history
export HISTFILESIZE=
export HISTSIZE=
export HISTTIMEFORMAT="[%F %T] "
# Change the file location because certain bash sessions truncate .bash_history file upon close.
# http://superuser.com/questions/575479/bash-history-truncated-to-500-lines-on-each-login
export HISTFILE=~/.bash_eternal_history
# Force prompt to write history after every command.
# http://superuser.com/questions/20900/bash-history-loss
PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
참고 : 모든 명령은 실행 직후에 기록되므로 실수로 암호를 붙여 넣은 경우 기록 기록을 피하기 위해 "kill -9 %%"만 할 수 없으므로 수동으로 제거해야합니다.
또한 각 bash 세션은 전체 히스토리 파일을 메모리에로드하지만 히스토리 파일이 10MB로 증가하더라도 ( 시간이 오래 걸리는 경우) bash 시작 시간에 큰 영향을 미치지 않습니다.
HISTFILESIZE=
및 HISTSIZE=
공백을 만들고 .bashrc 또는 .bash_profile 또는 .profile에 해당 매개 변수에 대한 다른 선언이 없는지 확인하십시오.
.bashrc
, .bashrc에 의해로드 된 다른 파일에 설치를했습니다 ... 지금 작동합니다! 고마워!
cat ~/.bash_history >>~/.bash_eternal_history
HISTFILESIZE
(및 가능하면 HISTSIZE
)이 즉시 효력을 발휘 한다는 사실은 지나치게 강조 될 수 없습니다 .
요 르그 베이어는 위에서 언급 한 것처럼 HISTSIZE
및 HISTFILESIZE
열쇠입니다.
또한, 당신은해야 확실히 환경 변수 확인 HISTCONTROL
당신이 멋진 일을 (중복 역사의 명령을 저장하지 좋아 수행 할 수 있습니다, HISTCONTROL=erasedups
)를. 수백 줄 cd ..
이상 을 탐색해야한다면 무제한 히스토리를 가질 필요가 없습니다 .
링크 : here , bash history 작업 . bash 변수 FAQ도 찾아 볼 가치 가 있습니다 .
Ctrl-r
somechars Ctrl-o
Ctrl-o
Ctrl-o
Ctrl-o
. 그래서 나는 역사에서 중복을 유지합니다.
Ctrl-o
입니까?
Ctrl-o
는 프롬프트에서 명령을 실행하고 기록에서 이전 명령 바로 다음에 명령을 표시합니다. 한 가지 이점은 Ctrl-r
이전 명령을 찾은 후 (이력에서 이웃 명령으로 이동하기 위해 위 / 아래 화살표를 사용하는 경우) 무한 루프에서도 이전 일련의 명령을 다시 실행하기 위해 여러 번 Ctrl
누르고 있으면 충분하다는 것입니다 o
네가 원한다면. 참조 : 위키 백과 - GNU Readline와
여기에 적어도 두 가지 관련 환경이 있습니다.
나는 무제한 이라는 용어 가 종종 매우 큰 것과 동일 하다는 것에 동의 할 수 있다고 생각합니다 (또는 무제한 파일 저장 공간이 있습니까?). 따라서 값을 매우 크게 설정하십시오.