Bash 기록의 동작에 영향을 미칠 수 있는 방법이 있습니까?

Bash 기록의 동작에 영향을 미칠 수 있는 방법이 있습니까?

터미널에서 이미 사용한 명령줄을 검색할 때 bash 기록이 도움이 되는 경우가 많습니다. 하지만 bash 기록의 동작에 영향을 미칠 수 있는 방법이 있습니까(즉, 어떤 명령이 저장되는지, 얼마나 오래 저장되는지, 얼마나 많이 저장되는지 등)?

답변1

여러 변수가 기록의 동작을 제어합니다.

  • HISTCONTROL: 기록에 값이 저장되는 방식을 제어합니다. 값 ignorespace, ignoredupserasedups는 여기에 입력할 수 있습니다(콜론으로 구분).
  • HISTFILE: 히스토리 파일의 위치를 ​​설정합니다.
  • HISTFILESIZE: 기록 파일의 최대 줄 수를 설정합니다.
  • HISTIGNORE: bash가 무시하는 패턴 목록이 있습니다(참조다른 대답구문의 경우).
  • HISTSIZE: 실제 쉘에서 기억되는 여러 줄을 포함합니다.
  • HISTTIMEFORMAT: 항목의 형식이 지정되는 방식에 대한 표현식이 포함되어 있습니다(참조다른 답변)

답변2

기록의 타임스탬프 설정:

  • 기본적으로 기록에는 타임스탬프가 추가되지 않지만 타임스탬프를 표시하도록 구성하는 것은 쉽습니다. 하나의 환경 변수만 설정하면 됩니다.HISTTIME형식.

    export HISTTIMEFORMAT="%h/%d - %H:%M:%S "

  • 결과를 보려면 기록을 다시 실행하십시오. 대체 텍스트
  • 명령을 기록에 저장하고 싶지 않다면

    export HISTSIZE=0

변수:

  • HISTFILE - 기록 파일이 저장되는 위치를 제어합니다.
  • HISTFILESIZE - HISTFILE에 보관할 기록 명령 수를 제어합니다.
  • HISTSIZE - 현재 세션의 기록 목록에 유지할 기록 명령 수를 제어합니다.
  • HISTIGNORE - 무시하고 기록 목록에 저장하지 않을 명령을 제어합니다.

메모:

  • 터미널을 닫으면 설정이 손실됩니다. 따라서 영구적으로 설정하려면 위 명령을 ~/.bashrc또는 에 추가해야 합니다 ~/.bash_aliases.

답변3

다음과 같은 줄을 추가할 수 있습니다.

export HISTFILESIZE=5000

~/.bashrc기록의 크기를 늘리 려면 기본적으로 공백으로 시작하는 명령은 저장되지 않습니다. 이는 export HISTCONTROL=ignoreboth우분투에서 기본적으로 전역적으로 활성화되어 있기 때문입니다 .

l또는 다음을 which사용하여 시작하는 명령을 무시할 수도 있습니다.

export HISTIGNORE="l*:which*"

답변4

명령을 기억하지 않도록 기록에 지시하는 방법이 있습니다. 공백으로 시작하면 됩니다. 특정 명령을 검색하는 매우 쉬운 방법도 있습니다. CTRL+R을 입력하고 검색하려는 명령에서 단어를 입력하세요.

기본적으로 500줄인 기본 기록을 늘리는 방법이 확실히 있습니다. 하지만 방법을 모르겠습니다. 죄송합니다!

관련 정보