명령 히스토리
history 명령
이전에 수행했던 명령 행의 목록을 불러오는 명령어
1
2
3
4
5
6
7
8
9
10
# 이전에 수행했던 명령 행의 목록 출력
history
>> 4 ll
>> 5 nano ./peer3.conf
>> ...
>> 999 cat ~/.bashrc
>> 1000 su
>> 1001 man 5 rm
>> 1002 man rm
>> 1003 history
최근 n개 명령어만 출력할 경우 history <n>
과 같이 인수를 사용하면 된다.
1
2
3
4
5
6
7
# 최근 n개만 출력
history 5
>> 1001 man 5 rm
>> 1002 man rm
>> 1003 history
>> 1004 history 10
>> 1005 history 5
history 기능을 이용한 명령 실행
입력 방법 | 설명 |
---|---|
!! + enter |
직전 명령 실행 |
!n + enter |
히스토리 목록에서 번호 n번에 해당하는 명령 실행 |
!-n + enter |
히스토리 목록에서 n번에 앞에서 수행한 명령 실행 !-1 + enter : 직전 명령 |
!string + enter |
지정 문자열로 시작하는 가장 최근 명령 |
!?string + enter |
지정 문자열을 포함하는 가장 최근 명령 |
⬆️ or ⬇️ |
누를 때마다 직전 또는 직후 명령을 불러오는 것. 프롬프트에 불러오는 것이므로 수정작성 가능 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# history 5
history 5
>> 1005 history 5
>> 1006 whereis docker
>> 1007 ll
>> 1008 ls
>> 1009 history 5
# !! : 직전 명령 실행
!!
>> 1005 history 5
>> 1006 whereis docker
>> 1007 ll
>> 1008 ls
>> 1009 history 5
# !n : n번 명령 실행
!1008
>> docker docker-compose docker_mounts installation ..
# !-n
!-4
>> docker: /usr/bin/docker /etc/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz
# !string
!where
>> whereis docker
>> docker: /usr/bin/docker /etc/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz
# !?string
!?docker
>> whereis docker
>> docker: /usr/bin/docker /etc/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz
# ⬆️ or ⬇️
⬆️ + enter
>> 1005 history 5
>> 1006 whereis docker
>> 1007 ll
>> 1008 ls
>> 1009 history 5
명령 히스토리 저장 원리
명령 히스토리 저장 위치
-저장 위치 : 명령 히스토리는 홈 디렉터리의 .bash_history
파일에 기록됨.
-저장 시점 : 셸을 끝내는 시점에, 수행된 명령어 목록이 위 파일에 기록됨.
-기본 개수 : 기본 1,000개의 명령 행이 기록됨.
-셸 재시작시 : 홈 디렉터리의 .bash_history
파일로부터 히스토리 목록을 가져와 초기화
히스토리와 관련된 환경 변수
환경 변수 | 설명 |
---|---|
HISTSIZE | -하나의 셸에서 저장되는 명령 히스토리의 최대 개수 -기본 1,000개 |
HISTFILE | -히스토리 파일 경로 -기본 ~/.bash_history |
HISTFILESIZE | -히스토리 파일의 최대 라인 수 여러 셸의 히스토리 통합 저장시 기본 1,000개 |
1
2
3
4
5
6
7
8
echo $HISTSIZE
>> 1000
echo $HISTFILE
>> /home/<user>/.bash_history
echo $HISTFILESIZE
>> 1000