Hayden's Archive

[Linux] 리눅스 기본 4 - 명령 히스토리 본문

Study/DevOps

[Linux] 리눅스 기본 4 - 명령 히스토리

_hayden 2020. 10. 13. 13:27

명령 히스토리

  • 이전에 수행했던 명령의 목록

  • 셸에서 history 명령을 실행하면 이전에 입력했던 '명령 행'의 목록을 불러와 볼 수 있음

  • history 10 : 최근 입력한 10개의 명령 행만을 확인함

    느낌표(!)를 사용하여 명령 행 번호를 입력하면 해당 명령을 다시 수행함

 

명령행 불러오기

- 히스토리 기능을 사용하여 이전 명령을 실행하는 방법

!! 직전에 수행했던 명령
!n 히스토리 목록에서 번호 n에 해당하는 명령
!-n n번째로 앞에 수행한 명령. !-1은 직전 명령임
!string 지정 문자열로 시작하는 가장 최근의 명령
!?string 지정된 문자열을 포함하는 명령 중 가장 최근의 명령
  • ↑ ↓ 방향키를 사용해서 해당 명령을 불러와 편집할 수도 있음
  • 커서 이동, 글자나 단어의 편집, 복사와 붙여넣기 등의 '명령 행 편집' 기능도 있음

 

명령 히스토리와 환경 변수

  • 셸을 끝내면 수행된 명령어 목록이 홈 디렉터리에 있는 .bash_history 파일에 기록됨(기본적으로 1000개의 명령 행 기록)
  • 다시 셸을 시작하면 .bash_history 파일로부터 히스토리 목록을 가져와 초기화됨

- 히스토리 관련 환경 변수

HISTSIZE 하나의 셸에서 저장되는 명령 히스토리 목록의 최대 개수. 기본값은 1000.
HISTFILE 히스토리 파일을 의미. 기본값은 ~/.bash_history
HISTFILESIZE 히스토리 파일의 최대 라인 수. 여러 셸의 히스토리 목록을 통합 저장할 때 히스토리 목록의 최대 개수로 기본값은 1000

 

명령 행 완성 기능

  • 셸 명령을 입력할 때 일부만 타이핑하고 나머지 부분을 자동으로 완성하는 방법

  • 처음 몇 자만을 타이핑한 후 Tab 키를 누름

  • 예시

    • whoa 입력 후 Tab 키 → whoami 명령
    • echo $OS 입력 후 Tab 키 → echo $OSTYPE 명령
    • cd ~ro 입력 후 Tab 키 → cd ~root 명령
  • Tab 키를 두 번 연속 누르면 가능한 모든 확장의 경우를 즉시 출력하여 보여줌

  • 파일 이름에 해당하는 부분을 자동으로 완성할 때는 esc 키 사용 가능.

  • 처음 몇 자만 입력한 상태에서 esc 키를 두 번 누르면 입력하지 않은 파일 이름의 나머지 부분을 자동으로 완성해줌