같은 명령어를 계속 반복해서 입력하는 것은 매우 피곤한 일입니다. 또한 아주 사소한 오타로 명령을 못 쓰게될 수도 있습니다.
한가지 해결책은 명령행 히스토리를 사용하는 것입니다.
13.9.1 절에서 만든 sneakers.txt 파일을 다시 한번 살펴봅니다. 그러나 먼저, 쉘 프롬프트에서 다음과 같이 입력합니다:
cat sneakrs.txt |
물론 아무 일도 일어나지 않습니다. 왜냐하면 sneakrs.txt란 파일이
존재하지 않기 때문입니다. 하지만 걱정 마십시오. 위, 아래 화살표 키를 이용하여
명령어를 다시 불러올 수 있습니다. 그 다음 왼쪽 화살표 키를 이용하여 "e"가 빠진 부분으로
이동한 후 단어를 적어넣고 다시
이제 sneakers.txt 파일의 내용이 나타날 것입니다.
기본 값으로 bash 명령행 히스토리 파일에는 최고 500개의 명령어가 저장되어 있습니다.
![]() | 힌트 |
|---|---|
쉘 프롬프트에서 env 명령을 입력하면, 명령 행 히스토리의 크기를 조절하는 환경 변수를 볼 수 있습니다. HISTFILESIZE=500 라고 쓰여진 라인은 bash가 저장하고 있는 명령어의 숫자를 말해줍니다. |
명령행 히스토리는 언제나 로그인 디렉토리에 있는 .bash_history 파일에 저장되어 있습니다. vi, cat, less, more와 같은 텍스트 보기 명령을 사용하여 명령행 히스토리를 읽을 수 있습니다.
파일 길이가 길 수도 있다는 점을 염두해 두십시오. more 명령을 이용하여 읽으시려면, 여러분의 홈 디렉토리에서 다음과 같이 입력하십시오:
more .bash_history |
화면 다음으로 진행하시려면,
![]() | 힌트 | |
|---|---|---|
히스토리 파일에서 화살표를 계속 눌러 각 페이지 마다 살펴보지 않고 원하는 명령어를 찾기 위해서는, 강력한 검색 유틸리티인 grep 명령을 사용하십시오 (13.11.3 절 참조). 이전에 사용한 명령어를 재빨리 찾을 수 있는 방법은 다음과 같습니다: cat sneak-어떤 단어 (something)과 유사한 명령어를 찾고 있다고 가정해 봅시다. 이 명령을 이전에 사용했었고 히스토리 파일 안에 있을 거라고 생각된다면, 쉘 프롬프트에서 다음과 같이 입력합니다:
|
또 다른 시간을 절약해주는 도구는 명령어 자동 완성 기능(command completion)이라고 알려진 것입니다.
파일이나 명령어 또는 경로명의 일부를 입력한 후
예를 들어, 만일 여러분이 updatedb 명령어를 잊어버리고
일부만 기억하신다면, su 명령을 사용하여 루트로 간 다음,
쉘 프롬프트에서 up을 입력하고