bash 기록의 항목 범위만 표시합니다.

bash 기록의 항목 범위만 표시합니다.

처음부터 모든 것이 아니라 100과 같은 특정 양의 기록 항목만 표시하도록 "history" 명령에 고정된 숫자를 설정할 수 있습니까?

답변1

history nn기록의 한 줄만 인쇄합니다 . 예를 들어:

$ history 4
 2000  type history
 2001  help
 2002  help history
 2003  history 4
$

따라서 다음에서 별칭을 만들 수 있습니다 .bashrc.

alias h="history 100"

에서 help history:

history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
    Display or manipulate the history list.

    Display the history list with line numbers, prefixing each modified
    entry with a `*'.  An argument of N lists only the last N entries.

이는 대규모 기록 세트를 유지하려는 경우 유용합니다.무제한. 와 함께HISTCONTROL=ignoreboth:erasedups그리고역증분 검색, 실제로 명령을 실행하는 특별한 경우입니다 history.

답변2

설정 HISTFILESIZE하고 HISTSIZE 히스토리 명령의 크기를 제한할 수 있습니다.

예를 들어 HISTFILESIZE=100HISTSIZE=100. 기록 파일을 100줄로 제한하고 HISTFILE메모리에 curent 세션 명령을 100줄로 저장합니다.

쉘이 시작되면 변수 이름의 파일 HISTFILE(기본값 ~/.bash_history)에서 내역이 초기화됩니다. HISTFILE필요한 경우 변수 값으로 지정된 행 수를 초과하지 않도록 값으로 명명된 파일이 잘 립니다 HISTFILESIZE.

파일 에 HISTFILESIZE=100 및 를 추가할 수 있습니다 . 100을 원하는 숫자로 변경하세요.HISTSIZE=100~/.bashrc

설명

HISTFILESIZE=10그리고HISTSIZE=10

  1. 세션을 시작합니다.
    1. HISTFILE(bash 명령 기록을 저장하는 파일)은 HISTFILESIZE=10줄을 포함하도록 잘립니다.
  2. 50줄을 쓰세요.
  3. 50개 명령이 끝나면 41~50번째 명령만 내역 목록에 표시되며 크기는 HISTSIZE=10에 의해 결정됩니다.
  4. 세션을 종료합니다.
    1. 활성화되지 않았다고 가정하면 histappend명령 41~50이 HISTFILE에 저장됩니다. 이제 처음에 보유했던 10개의 명령과 새로 작성된 10개의 명령이 포함됩니다.
    2. HISTFILE은 HISTFILESIZE=10줄을 포함하도록 잘립니다.
  5. 이제 기록에 10개의 명령이 있습니다. 이는 방금 마친 세션에서 방금 입력한 마지막 10개입니다.
  6. 새 세션을 시작할 때 HISTFILE 크기=10인 HISTFILE을 사용하여 1부터 다시 시작합니다.

HISTFILESIZE=10그리고HISTSIZE=5

  1. 세션을 시작합니다.
    1. HISTFILE(bash 명령 기록을 저장하는 파일)은 최대 HISTFILESIZE=10줄을 포함하도록 잘립니다.
  2. 50줄을 쓰세요.
  3. 50개 명령이 끝나면 46~50번째 명령만 내역 목록에 표시되며 크기는 HISTSIZE=5에 의해 결정됩니다.
  4. 세션을 종료합니다.
    1. 활성화되지 않았다고 가정하면 histappend명령 46~50이 HISTFILE에 저장됩니다. 이제 처음에 보유했던 10개의 명령과 새로 작성된 5개의 명령이 포함됩니다.
    2. HISTFILE은 HISTFILESIZE=10줄을 포함하도록 잘립니다.
  5. 이제 기록에 10개의 명령이 있습니다. 이전 세션의 5개와 방금 마친 세션에서 방금 입력한 마지막 5개입니다.
  6. 새 세션을 시작할 때 HISTFILE 크기=10인 HISTFILE을 사용하여 1부터 다시 시작합니다.

HISTFILESIZE=5그리고HISTSIZE=10

  1. 세션을 시작합니다.
    1. HISTFILE(bash 명령 기록을 저장하는 파일)은 최대 HISTFILESIZE=5 줄을 포함하도록 잘립니다.
  2. 50줄을 쓰세요.
  3. 50개 명령이 끝나면 41~50번째 명령만 내역 목록에 표시되며 크기는 HISTSIZE=10에 의해 결정됩니다.
  4. 세션을 종료합니다.
    1. 활성화되지 않았다고 가정하면 histappend41~50번 명령이 HISTFILE에 저장됩니다. 이제 처음에 보유했던 5개 명령과 새로 작성된 10개 명령이 포함됩니다.
    2. HISTFILE은 HISTFILESIZE=5줄을 포함하도록 잘립니다.
  5. 이제 기록에 5개의 명령이 있습니다. 이는 방금 마친 세션에서 방금 입력한 마지막 5개입니다.
  6. 새 세션을 시작할 때 HISTFILE HISTFILESIZE=5를 사용하여 1단계부터 다시 시작합니다.

stackoverflow.com의 훌륭한 설명입니다.

관련 정보