history 개요
사용자가 터미널에서 명령어를 입력할 때마다 해당 명령어는 히스토리 파일(일반적으로 `~/.bash_history` 또는 `~/.zsh_history`)에 기록됩니다. `history` 명령어는 이 파일의 내용을 읽어와 화면에 표시하며, 쉘 세션이 종료된 후에도 이력이 보존됩니다.
history의 주요 역할
`history` 명령어는 주로 다음과 같은 목적으로 사용됩니다:
주요 활용 분야
- 명령어 재실행: 이전에 사용했던 긴 명령어들을 다시 입력할 필요 없이 쉽게 재실행할 수 있습니다.
- 작업 추적: 과거에 어떤 작업을 수행했는지 확인하고, 작업 흐름을 파악하는 데 도움을 줍니다.
- 생산성 향상: 자주 사용하는 명령어를 빠르게 찾아 입력 시간을 절약합니다.
- 스크립트 작성 참고: 과거에 성공적으로 실행했던 명령어 조합을 스크립트 작성에 활용합니다.
환경 변수와 history
히스토리 기능은 몇 가지 환경 변수의 영향을 받습니다:
주요 관련 환경 변수
- `HISTSIZE`: 메모리에 저장할 명령어 이력의 최대 개수입니다. 현재 쉘 세션 동안 유지됩니다.
- `HISTFILESIZE`: 히스토리 파일(`~/.bash_history` 등)에 저장할 명령어 이력의 최대 개수입니다. 쉘 세션 간에 보존됩니다.
- `HISTFILE`: 명령어 이력이 저장되는 파일의 경로를 지정합니다. 기본값은 `~/.bash_history`입니다.
- `HISTCONTROL`: 히스토리 기록 방식을 제어합니다. (예: `ignoredups` - 중복 명령어 무시, `ignorespace` - 공백으로 시작하는 명령어 무시)
주요 history 명령어 옵션
`history` 명령어는 이력 목록을 조회하고, 수정하며, 관리하는 데 필요한 다양한 옵션을 제공합니다.
1. 이력 조회 및 출력
2. 이력 수정 및 재실행
생성된 명령어:
명령어를 조합해 보세요.
설명:
`history` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
`history` 명령어의 다양한 활용 예시들을 통해 명령어 이력을 효과적으로 조회하고 재활용하는 방법을 익혀보세요.
최근 명령어 20개 조회
history 20
가장 최근에 실행한 20개의 명령어 목록을 번호와 함께 출력합니다.
명령어 이력에서 특정 문자열 검색
history | grep docker
`grep` 명령어를 사용하여 `history` 이력에서 'docker'가 포함된 명령어를 찾아봅니다.
이전 `ls` 명령어를 다시 실행
!ls
`ls`로 시작하는 가장 최근에 실행했던 명령어를 찾아서 다시 실행합니다.
마지막 명령어의 마지막 인자 재사용
cat /var/log/syslog
less !$
`cat /var/log/syslog`를 실행한 후, `/var/log/syslog`를 `less` 명령어로 다시 열고자 할 때 유용합니다.
현재 쉘 이력을 즉시 파일에 저장
history -w
쉘을 닫기 전에 현재 세션에서 실행된 모든 명령어를 `~/.bash_history` 파일에 즉시 저장합니다.
특정 이력 번호 삭제
history -d 125
`history` 명령어로 확인했을 때 125번인 명령어를 이력에서 삭제합니다. (주의: 한 번 삭제하면 복구할 수 없습니다)