리눅스 명령어 · 3 min read · Sep 17, 2025

리눅스 히스토리 명령어 튜토리얼 (초보자를 위한 8가지 예제)

리눅스 명령줄에서 도구와 스크립트를 실행하는 작업을 포함하고 있다면, 매일 실행하는 명령어가 많을 것이라고 확신합니다. 명령줄에 익숙하지 않은 사람들은 history라는 도구가 존재하여 이전에 실행한 명령어 목록을 제공한다는 것을 알아야 합니다.

이 튜토리얼에서는 이해하기 쉬운 몇 가지 예제를 사용하여 히스토리 명령어의 기본 사항에 대해 논의할 것입니다. 그러나 그 전에, 여기의 모든 예제는 Ubuntu 16.04LTS 머신에서 테스트되었다는 점을 언급할 가치가 있습니다.

리눅스 히스토리 명령어

명령줄 히스토리를 효과적으로 활용하는 방법을 알면, 매일 많은 시간을 절약할 수 있습니다. 다음은 히스토리 명령어를 어떻게 활용할 수 있는지에 대한 좋은 아이디어를 제공하는 Q&A 스타일의 예제입니다.

Q1. 히스토리 명령어는 어떻게 작동하나요?

기본 사용법은 간단합니다 - ‘history’ 명령어를 실행하기만 하면 됩니다.

history

히스토리 명령어는 어떻게 작동하나요

따라서 이전에 실행한 명령어가 출력에 표시됩니다. 출력 표시가 첫 페이지에서 일시 중지되도록 ‘more’ 명령어를 사용했음을 주목하세요 (히스토리의 전체 출력은 보통 매우 깁니다).

Q2. 히스토리가 날짜와 시간을 표시하도록 하려면 어떻게 하나요?

히스토리 명령어가 각 명령어의 실행 날짜와 시간을 표시하도록 하려면, 다음과 같이 HISTTIMEFORMAT 변수를 내보내면 됩니다:

export HISTTIMEFORMAT="%F %T: "

그게 전부입니다. 이제 ‘history’ 명령어를 실행하면 출력에 날짜와 시간 정보가 표시됩니다.

히스토리가 날짜와 시간을 표시하도록 하려면 어떻게 하나요

모든 명령어의 날짜와 시간이 동일하게 표시되는 경우, 다음 설명이 상황을 명확히 해줄 것입니다:

HISTTIMEFORMAT을 bash에서 설정하면 새로운 항목이 타임스탬프와 함께 히스토리 파일에 저장됩니다. 타임스탬프가 없는 이전 명령어(즉, HISTTIMEFORMAT을 설정하기 전에 실행된 명령어)는 동일한 날짜-시간-스탬프(실제 타임스탬프가 있는 첫 번째 항목에서 찾은 것으로 추정됨)를 표시합니다.

이 문제는 며칠 후에 전체 히스토리가 업데이트되면 스스로 해결될 것입니다.

~/.bash_history를 확인하여 날짜-시간-스탬프가 있는 첫 번째 줄이 무엇인지 확인할 수 있습니다. 이는 #로 시작하고 (현재) 10자리 숫자가 뒤따르는 줄입니다.

Q3. 히스토리가 명령어 기록을 중지하도록 하려면 어떻게 하나요?

시스템이 명령어 히스토리를 저장하지 않기를 원하는 상황이 발생하면, HISTSIZE 변수를 사용하여 이를 수행할 수 있습니다. 값을 0으로 내보내기만 하면 됩니다.

다음 예제를 참조하세요:

따라서 이제 ‘history’ 명령어를 실행해도 결과가 생성되지 않았습니다.

HISTFILESIZE 변수도 있다는 점에 유의하세요. 두 변수의 차이는 다음과 같습니다:

HISTSIZE는 bash 세션이 진행되는 동안 메모리에 저장되는 히스토리 목록의 줄 수 또는 명령어 수입니다.

HISTFILESIZE는 (a) 세션 시작 시 히스토리 파일에 허용되는 줄 수 또는 명령어 수와 (b) 향후 세션에서 사용하기 위해 bash 세션 종료 시 히스토리 파일에 저장되는 줄 수 또는 명령어 수입니다.

Q4. 히스토리가 단일 명령어를 기록하지 않도록 하려면 어떻게 하나요?

HISTCONTROL 변수를 ‘ignorespace’로 설정하여 이를 수행할 수 있습니다. 다음과 같이 할 수 있습니다:

export HISTCONTROL=ignorespace

이제 히스토리에 기록하고 싶지 않은 명령어를 실행할 때는 앞에 공백을 추가하여 실행하기만 하면 됩니다.

Q5. 빠른 히스토리 검색을 수행하려면 어떻게 하나요?

물론, grep 명령어를 사용하여 히스토리 명령어로 생성된 출력에서 특정 키워드나 명령어를 검색할 수 있습니다. 그러나 훨씬 더 빠른 방법도 있습니다: 역방향-i-검색.

매우 간단합니다 - 명령줄에서 CTRL+R을 누르면 프롬프트가 다음과 같이 변합니다:

이제 검색할 키워드를 입력하면 오른쪽에서 히스토리의 일치하는 제안이 표시됩니다. 예를 들어, ‘man’ (따옴표 없이)을 입력했더니 첫 번째 결과는 ‘man apropos’였습니다.

이것이 원하는 것이 아니라면, CTRL+R을 다시 눌러 다음 일치하는 결과를 얻을 수 있습니다. 제 경우에는 다음 결과가 ‘man find search’였습니다.

이렇게 계속 검색할 수 있습니다. 원하는 결과를 얻으면 오른쪽 화살표 키를 눌러 프롬프트에 전체 명령어를 가져올 수 있습니다.

이제 이 명령어를 실행하거나 원하는 대로 사용할 수 있습니다.

Q6. 이전 명령어를 실행하려면 어떻게 하나요?

마지막으로 실행된 명령어를 실행하는 두 가지 쉬운 방법이 있습니다: CTRL+P를 누르거나 다음 명령어를 실행하세요:

!!

믿지 않으신가요 (특히 두 번째 방법이요)? 시도해 보세요.

두 번째로 마지막 명령어를 빠르게 실행해야 하는 경우, 다음과 같이 할 수 있습니다:

!-1

이런 식으로 계속 진행할 수 있습니다.

Q7. 히스토리에서 중복 항목을 무시하도록 하려면 어떻게 하나요?

HISTCONTROL 변수를 ‘ignoreboth’ 및 ‘erasedups’로 설정하여 이를 수행할 수 있습니다. 다음과 같이 할 수 있습니다:

echo HISTCONTROL=ignoreboth:erasedups

이제 히스토리 명령어를 실행하면 출력에 중복 항목이 포함되지 않습니다.

Q8. 히스토리를 지우려면 어떻게 하나요?

기존 히스토리를 지우고 새로 시작하려면 -c 명령줄 옵션을 사용하세요.

history -c

결론

히스토리가 매우 중요한 명령어라는 데 동의할 것입니다. 이 튜토리얼에서는 이 도구를 최대한 활용하기 위한 여러 중요한 팁/요령에 대해 논의했습니다. 이러한 내용을 연습한 후, 도구의 매뉴얼 페이지를 참조하여 더 많은 정보를 얻으세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.