Bash 기록 크기

Abdul Mateen 2023년6월20일
  1. Bash 역사 개요
  2. Bash history 명령을 사용하여 Bash 기록 보기
  3. Bash 기록 크기
  4. Bash 기록 파일 크기 수정
  5. 무제한 Bash 기록 파일 크기 설정
  6. Bash 기록 제어
  7. 로그오프하기 전에 HISTFILE에 기록 저장
Bash 기록 크기

이 자습서에서는 Bash의 기록, 크기, 기록 크기를 변경하고 제한을 처리하는 방법에 대해 알아봅니다. 주제로 이동하기 전에 먼저 Bash 셸에서 히스토리가 필요한 이유와 히스토리를 가져오는 방법을 알아봅시다.

대부분의 개발자, 시스템 관리자 및 소프트웨어 애플리케이션 엔지니어는 Linux 명령줄에서 많은 시간을 보냅니다. 인간이기 때문에 타이핑 실수를 합니다.

또한 많은 명령에는 매개변수/옵션 목록(해당 순서 포함)이 있습니다. 따라서 정확한 순서대로 기억하기가 어렵습니다.

따라서 기록은 Bash 셸에 입력된 이전 명령을 기억하는 데 도움이 됩니다.

Bash 역사 개요

기록 측면에서 Bash는 명령, 파일 및 바로 가기를 추적합니다. 사용자는 history 유틸리티를 사용하여 명령줄에 입력할 수 있습니다.

history 유틸리티는 유용한 정보를 제공합니다. 현재 시스템 또는 계정 변경이 어떻게 발생했는지 추적하는 데 도움이 됩니다.

Bash에는 Bash 기록과 관련된 두 가지 기본 제공 명령이 있습니다.

  1. history- 이 명령은 Bash 기록에서 이전에 사용한 명령 목록을 제공하며 Bash 기록을 수정할 수도 있습니다.
  2. fc - 이 명령은 history 명령의 모든 작업을 수행하고 명령 실행을 허용합니다.

Bash 기록에 대한 모든 정보는 Bash 사용자의 경우 ~/.bash_history 파일에 저장되지만 다른 사용자의 경우 .history일 수 있습니다.

history 명령으로 시작하여 어떻게 작동하는지 살펴보겠습니다.

Bash history 명령을 사용하여 Bash 기록 보기

전체 기록을 보려면 셸에서 history 명령을 작성할 수 있습니다. 히스토리 파일의 전체 히스토리를 나열합니다.

$ history

출력은 다음과 같습니다.

	1  ping google.com
    2  sudo apt update
    3  ping google.com
    4  java --version
    5  sudo apt install openjdk-17-jre-headless
    6  sudo apt-get install gcc
    7  sudo apt-get install gpp
    8  sudo apt-get install g++
    9  sudo apt-get install mingw-w64
   10  sudo apt-get install codeblocks
   11  codeblocks
   12  sudo apt update
   13  sudo apt update mu-editor
   14  sudo apt install mu-editor
   15  sudo apt update
   16  python3 --version
   17  clear
   18  snap find pycharm
   19  sudo snap install pycharm-professional --classic
   20  clear
   21  cd desktop/python
   22  cd desktop/python task5.py
	...

우리가 설명하지 않을 다른 유용한 Bash history 명령도 있지만 이 웹사이트에서 읽을 수 있습니다.

Linux에서 Bash의 fc 명령은 fix 명령이라고도 합니다. 주로 여러 줄 명령을 수정하는 데 사용됩니다.

fc 명령과 함께 -l 매개변수는 이전 명령 기록을 보여줍니다.

명령과 그 출력에 대한 다음 예를 살펴보겠습니다.

$ fc -l
302	 284 ./a.out
303	 285 gcc execve1.c -o e1
304	 286 gcc execve2.c
305	 287 ./a.out
306	 288 $ sudo snap install whatsdesk
307	 289 sudo snap install whatsdesk
308	 290 cd ..
309	 291 cd CodeForces/
310	 292 pwd
311	 293 history
312	 294 1  ping google.com
313	 295 ls
314	 296 wc Test.c
315	 297 fc -l
316	 298 ls
317	 clear

Bash 기록 크기

Bash 기록 파일에 대해 이야기하면 일부 데이터도 있다고 생각합니다. Bash 기록 파일의 기본값은 500에서 1000입니다.

기록 파일의 최대 항목 수입니다. 그러나 다른 명령을 사용하여 원하는 범위로 히스토리 크기를 구성할 수 있으므로 영구적이지 않습니다.

그들을 탐구하자.

Bash 기록 구성

Bash 명령 기록을 구성하려면 ~/.bashrc 파일을 변경해야 합니다. ~/.bashrc 파일은 다음 nano 명령을 사용하여 업데이트할 수 있습니다.

$ nano ~/.bashrc

수정했으면 Ctrl+O를 누른 다음 Ctrl+X를 눌러 저장하고 nano를 닫습니다. 편집자. 그런 다음 다음 명령을 실행하여 Bash 설정을 다시 로드합니다.

$ source ~/.bashrc

또는

$ . ~/.bashrc

두 명령 모두 Bash 기록 파일을 수정합니다.

Bash 기록 파일 크기 수정

HISTSIZEHISTFILESIZE 변수는 Bash 기록과 관련이 있습니다. HISTSIZE 변수에는 캐시할 최대 Bash 명령 수가 있는 반면 HISTFILESIZE 변수에는 히스토리 파일에 저장된 상위 명령 수가 있습니다.

기본적으로 기록 파일에는 최대 500개의 명령을 보관할 수 있습니다.

이러한 변수를 인쇄하여 이러한 값을 볼 수 있습니다. 출력은 기계/구성에 따라 다를 수 있습니다. 다음은 하나의 샘플 실행 및 관련 결과입니다.

$ echo $HISTSIZE
$ echo $HISTFILESIZE
1000
2000

~/.bashrc 파일에 다음 줄을 추가하여 이러한 값을 구성할 수 있습니다.

$ HISTSIZE = 6000
$ HITFILESIZE = 6000

다시, 다음 변수를 인쇄하여 값을 확인할 수 있습니다.

$ echo $HISTSIZE
$ echo $HISTFILESIZE
6000
6000

무제한 Bash 기록 파일 크기 설정

이전 섹션에서는 Bash에서 히스토리 크기를 수정하는 방법에 대해 설명했습니다. 그러나 때로는 무제한 크기로 설정하는 것이 편리합니다. 어떻게 할까요? 탐험하자!

다음 단계를 사용하여 Bash 기록 크기 또는 총 파일 크기를 설정할 수도 있습니다.

  • Bash 기록 파일을 변경합니다. StackOverFlow에서 읽을 수 있듯이 Bash 기록 파일이 경우에 따라 잘리므로 몇 가지 문제가 있습니다.

    다른 디렉터리를 사용하도록 HISTFILE 환경 변수를 변경하여 이 문제를 해결할 수 있습니다.

    export HITSFILE= ~/.history
    

    HISTFILE은 기록 파일의 경로/위치를 나타냅니다(기본값은 ~/.bash_history).

  • 기록 크기를 늘립니다. HISTFILESIZEHISTSIZE 변수를 빈 문자열로 설정하여 Bash 기록 크기를 무제한으로 만듭니다.
    $ export HITSFILESIZE=
    $ export HITSIZE=
    
  • 기존 기록을 복사합니다. 새로운 기록 파일을 사용하고 있지만 이전 파일 명령을 잃지 않아야 하므로 이전 파일의 내용을 새 파일에 복사합니다.
    $ cp ~/.bash_history ~/.history
    

Bash 기록 제어

출력 노이즈 또는 보안상의 이유로 Bash 기록에서 명령을 제외할 수 있습니다. 저장되는 히스토리를 제어하는 히스토리 제어 명령 HISTCONTROL을 사용하여 이를 수행할 수 있습니다.

~/.bashrc 파일에서 중복 항목 및 선행 공백이 있는 항목을 무시하도록 지정할 수 있습니다.

  1. ignorespace – 공간 히스토리 목록으로 시작하는 명령을 제거합니다.
  2. ignoredups – 중복 명령을 제거합니다.
  3. ignorebothignoredupsignorespace를 모두 활성화합니다.
  4. erasedups- 이것은 전체 목록에서 중복을 제거합니다.
$ export HISTCONTROL=ignorespace:ignoredups

HISTIGNORE 변수를 사용하여 무시할 명령을 제어할 수도 있습니다. 기록에서 생략하려는 모든 명령을 지정할 수 있는 콜론으로 구분된 패턴 목록입니다.

예를 들어 기록 목록에서 가장 자주 사용되는 기본 명령(예: lspwd)을 무시하려면 ~/.bashrc 파일에 다음 줄을 작성합니다.

$ export HISTIGNORE="ls:pwd:"

이전 명령을 반복하는 것보다 Linux Bash 명령 기록으로 더 많은 작업을 수행할 수 있습니다.

로그오프하기 전에 HISTFILE에 기록 저장

명령은 사용자가 로그오프한 후에만 Bash 파일에 기록됩니다. 그러나 history 명령과 함께 쓰기 옵션을 사용하여 로그오프하기 전에 파일에 기록을 쓸 수 있습니다.

구문은 다음과 같습니다.

$ history -w

이 명령은 모든 현재 세션 명령 기록을 HISTFILE에 기록합니다. 그런 다음 나중에 사용할 수 있도록 명령 스크립트를 사용할 수 있습니다.

이 기사에서는 마지막으로 Bash 기록, 기록 크기 및 파일 크기 또는 Bash 기록 및 크기를 제한 또는 무제한 범위로 수정하는 방법을 다루었습니다.