본문으로 바로가기

리눅스에서는 일정갯수(기본 1000)이상 사용했던 명령어를 특정 파일에 저장해두고 필요한 경우 다시 불러서 사용할 수 있습니다. 키보드 방향키를 이용해서 말이죠.

파일명 : .bash_history - 개별사용자들의 홈디렉토리에 존재

쉘변수중 $HISTSIZE가 그 값을 결정한다.

echo $HISTSIZE

history 사용법

사용법은 간단하다.

history

숫자를 추가하면 최근에 사용했던 n개의 명령어만 출력(찾은 최근 명령어 가운데 !find 하면 지정한 문자열(find)로 시작하는 가장 최근 명령어 재실행)

history 8

grep 명령어를 조합하여 원하는 문자열에 해당하는 명령어 리스트 출력(원하는 명령어 찾은 후 맨 앞의 명령어 숫자를 이용하여 !105와 같이 사용하면 해당 명령어가 실행)

history | grep find

w 옵션을 사용하여 histroy 의 결과를 지정된 파일에 모두 저장

history -w commandex.txt

명령어 재사용은 키보드의 방향키(↑ ↓)를 이용하거나 '!!'를 이용해 바로 직전에 사용했던 명령어를 재실행할 수 있다.

history 설정

history 의 기본 설정값은 사용한 명령어만 출력해 주는데 날짜정보와 함께 출력하면 명령어 사용을 관리하는데 유용하다. 또한 해커들이 침입후 사용했던 명령어의 기록을 지우기 위해 history 파일을 지우기도 하니 이를 방지하도록 한다.

아래의 구문을 /etc/profile 맨 하단에 추가한다.

vi /etc/profile

  #Add timestamp to .bash_history
  HISTTIMEFORMAT="%F %T -- "
  export HISTTIMEFORMAT
  declare -r HISTFILE

profile을 재시작한다.

source /etc/profile

고급 사용법

  • "!-n" : 현재 명령행에서 n 개수를 뺀 행의 명령어를 가리킨다.
  • "!?문자열[?]" : "문자열"을 가리키는 가장최근의 명령어를 가리킨다.
  • "^문자열 1^문자열 2" : 최근 사용명령어 가운데 "문자열 1" 이 들어가는 명령어를 찾아서
    "문자열 1"을 "문자열 2"로 치환하여 재실행한다.