역사 크기를 영원히 바꾸는 방법?


69

우분투의 기본 기록 크기는 1000이지만 너무 작습니다. 10000으로 변경하고 싶습니다.

export HISTSIZE=10000
export HISEFILESIZE=10000

.profile 와 '소스'를

source .profile

그런 다음 실행

echo $HISTSIZE
echo $HISTFILESIZE

둘 다에 1000이 표시되었지만 컴퓨터를 재부팅하면 '기본'이되었습니다. 왜 작동하지 않습니까?


당신은 여기에 오타가 있습니다 : export HISEFILESIZE=10000( .profile반향 기가 작동하면 당신이하지 않은 것처럼 보이지만 ). 누군가가 여기에서 그것을 보는 경우에 대비해HISTFILESIZE
Leo

답변:


71

나는 비열한 우분투 ~/.bashrc가 기본적으로 이러한 변수를 설정한다는 것을 발견하기 위해 같은 것을 시도했지만, ~/.profile터미널 창을 여는 것과 같은 비 로그인 쉘 대신 실행됩니다 . 이 줄을 바꾸면 ~/.bashrc나를 위해 고쳐 졌습니다 .

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

6
hisfilesize는 KB입니까?
Patoshi パ ト シ

12
@duckx 아니오, HISTFILESIZE는 히스토리 파일에 저장된 행 수 에있는 반면 HISTSIZE는 각 쉘 프로세스에 의해 저장되고 사용 가능한 행 수입니다 (그리고 HISTFILESIZE에 저장 됨). 값이 없거나 숫자가 아니거나 음수이면 제한이 발생하지 않습니다.
vaab

2
이것은 어떤 이유로 XFCE 터미널에서 작동하지 않습니다
Michal Przybylowicz

1
@MichalPrzybylowicz : 받아 들일 수 /etc/bash.bashrc있으면 글로 고칠 수 있습니다. 아래를 참조하십시오. (아마도 실종되었을 수도 있습니다 export)
serv-inc

43

Bash Reference Manual에서 :

HISTSIZE 
    The maximum number of commands to remember on the history list.

    If the value is 0, 
       **commands are not saved** in the history list. 

    Numeric values less than zero result in 
       every command being saved on the history list (there is no limit). 

따라서 무한 히스토리 목록의 경우
HISTSIZE = (일부 숫자 는 0보다 작음 )

HISTFILESIZE 
    The maximum number of lines contained in the history file. 

    When this variable is assigned a value, 
        the history file is truncated, if necessary, 
        to contain no more than that number of lines 
        by removing the oldest entries. 

        The history file is also truncated to this size after 
        writing it when a shell exits. 

    If the value is 0, 
        **the history file is truncated to zero size.** 

    Non-numeric values and numeric values less than zero 
        inhibit truncation. 

따라서 무한 .bash_history 히스토리 파일의 경우
HISTFILESIZE = (일부 숫자 는 0보다 작음 )


2

@Michal Przybylowicz 에서 언급했듯이 Xubuntu (및 Lubuntu)에서는 이러한 파일이 무시되는 경우가 있습니다. 그렇다면 대신 줄을 쓸 수 있습니다.

export HISTSIZE=10000
export HISTFILESIZE=10000

/etc/bash.bashrc . 이렇게하면 환경 변수의 값이 전체적으로 변경됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.