본문으로 건너뛰기

© 2026 Molayo

GH Trending중요릴리즈2026. 04. 24. 12:53

magical shell history

요약

Atuin은 기존 쉘(shell) 히스토리를 SQLite 데이터베이스로 대체하고, 명령어 실행 시 종료 코드(exit code), 소요 시간(duration), 작업 디렉터리(cwd) 등 추가적인 컨텍스트 정보를 기록하는 도구입니다. 단순한 검색 기능을 넘어, 특정 조건(예: 어제 오후 3시 이후 성공한 `make` 명령어)을 만족하는 히스토리를 검색할 수 있습니다. 또한, 모든 동기화 과정은 종단 간 암호화(end-to-end encrypted)를 지원하여 보안성이 매우 높으며, 여러 기기와 세션에 걸쳐 일관된 쉘 사용 경험을 보

핵심 포인트

  • SQLite 데이터베이스 기반으로 히스토리를 관리하며, 종료 코드, 소요 시간, 작업 디렉터리(cwd) 등 풍부한 메타데이터를 기록합니다.
  • 고급 검색 기능(`atuin search`)을 제공하여 특정 조건(예: 성공 여부, 시간 범위)에 맞는 과거 명령어를 필터링할 수 있습니다.
  • 종단 간 암호화(end-to-end encryption)를 통해 히스토리를 안전하게 동기화하며, 로컬 호스팅 또는 Atuin 서버 사용이 가능합니다.
  • zsh, bash, fish 등 주요 쉘 환경을 지원하며, 여러 터미널과 기기 간에 동일한 히스토리 경험을 제공합니다.

Atuin은 기존 셸 히스토리(shell history)를 SQLite 데이터베이스로 대체하고 명령어에 대한 추가적인 컨텍스트(context)를 기록합니다. 또한, Atuin 서버를 통해 사용자의 히스토리를 선택적이고 완전히 암호화하여 동기화(synchronisation)하는 기능을 제공합니다.

종료 코드(exit code), 실행 시간(duration), 시간 및 명령어가 표시됩니다.
검색 UI 외에도 다음과 같은 작업을 수행할 수 있습니다:

# 어제 오후 3시 이후 성공한 모든 `make` 명령어 검색
atuin search --exit 0 --after "yesterday 3pm" make

사용자가 호스팅하는 서버 또는 제가 제공하는 서버를 사용할 수 있습니다! 아니면 아예 동기화를 사용하지 않을 수도 있습니다. 모든 히스토리 동기화는 암호화되어 있기 때문에, 원한다 하더라도 저는 사용자 데이터에 접근할 수 없습니다. 그리고 정말로 그러고 싶지도 않습니다.

  • rebind: ctrl-rup(설정 가능)을 전체 화면 히스토리 검색 UI에 할당 - 셸 히스토리를 sqlite 데이터베이스에 저장
  • 백업 및 암호화된 셸 히스토리 동기화
  • 터미널, 세션, 기기를 넘나드는 동일한 히스토리를 유지
  • 종료 코드(exit code), 현재 작업 디렉터리(cwd), 호스트 이름(hostname), 세션, 명령어 실행 시간 등 기록
  • "가장 많이 사용된 명령어"와 같은 통계 계산
  • 이전 히스토리 파일은 대체되지 않음
  • Alt-<num>으로 이전 항목에 빠르게 이동
  • ctrl-r로 필터 모드 전환; 현재 세션, 디렉터리 또는 전역에서 검색 히스토리만 검색
  • Enter를 눌러 명령어 실행, Tab을 눌러 편집

지원하는 셸(Supported Shells):

  • zsh
  • bash
  • fish
  • nushell
  • xonsh
  • powershell (Tier 2 지원)

Atuin에는 커뮤니티 포럼이 있으니, 도움이 필요하거나 지원받고 싶다면 이곳에 문의하세요: https://forum.atuin.sh/
또한 libera.chat의 #atuin에서도 이용 가능합니다.
Atuin은 커뮤니티 디스코드(Discord)도 운영하고 있으며, 여기에서 접속할 수 있습니다.

이 명령어는 Atuin 클라우드 동기화 서버에 가입시킵니다. 모든 것이 종단 간 암호화(end-to-end encrypted)되어 있어 비밀 정보가 안전합니다!

오프라인 설정, 자체 호스팅 서버 등에 대한 자세한 내용은 문서를 읽어보세요.

curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh

atuin register -u <USERNAME> -e <EMAIL>
atuin import auto
atuin sync

그런 다음 셸을 재시작하세요!

참고(Note)
Bash 사용자용: 위 명령어는 필요한 후크(hooks)를 위해 bash-preexec를 설정하지만, bash-preexec에는 제한 사항이 있습니다. 자세한 내용은 셸 플러그인 문서의 Bash 섹션을 참조하십시오.

보안 문제가 발견되면 ellie@atuin.sh로 알려주시면 감사하겠습니다.
Made with contrib.rocks.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Rust (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
13

댓글

0