나는 control+r
내 명령 기록을 재귀 적으로 검색하기 위해 사용 하는 것을 정말로 좋아 합니다. 함께 사용하기에 좋은 몇 가지 옵션을 찾았습니다.
# ignore duplicate commands, ignore commands starting with a space
export HISTCONTROL=erasedups:ignorespace
# keep the last 5000 entries
export HISTSIZE=5000
# append to the history instead of overwriting (good for multiple connections)
shopt -s histappend
나에게 유일한 문제는 erasedups
순차적 복제 만 지우는 것이므로이 명령 문자열을 사용하면됩니다.
ls
cd ~
ls
ls
명령은 실제로 두 번 기록됩니다. 나는 cron을 주기적으로 실행하는 것에 대해 생각했습니다.
cat .bash_history | sort | uniq > temp.txt
mv temp.txt .bash_history
이렇게하면 복제본을 제거 할 수 있지만 불행히도 순서는 유지되지 않습니다. 내가하지 않으면 sort
파일을 처음 나는 생각하지 않는다 uniq
제대로 작동 할 수 있습니다.
.bash_history에서 중복을 제거하고 순서를 유지하려면 어떻게해야합니까?
추가 크레딧 :
.bash_history
스크립트를 통해 파일을 덮어 쓰는 데 문제가 있습니까? 예를 들어, 아파치 로그 파일을 제거하면 파일에 kill
연결하기 위해 nohup / reset 신호를 보내야한다고 생각 합니다. .bash_history
파일 의 경우 ps
필터링 스크립트를 실행하기 전에 연결된 세션이 없는지 확인하고 확인 하는 데 사용할 수 있습니까?
history
명령에 대한 모든 옵션에 대한 매뉴얼 페이지를 찾지 못했습니다 . 어디서 볼까?
ignoredups
대신erasedups
잠시 동안 그 당신을 위해 작동하는 방법을 참조하십시오.