atuin — 셸 히스토리 검색·동기화
Linux / 모던 CLI 도구 / atuin.html
💬 "atuin 명령어"
atuin은 셸 히스토리를 SQLite 데이터베이스로 대체하는 도구입니다. 수천 줄짜리 평범한 히스토리 파일을 구조화해, 명령어·디렉터리·종료 코드·실행 시점까지 함께 저장하고 언제든 빠르게 검색할 수 있습니다.
Rust로 만들어졌으며, 원하면 기기 간 히스토리를 종단간 암호화(E2E)로 동기화합니다. 기본 셸의 Ctrl+R 검색을 훨씬 강력한 인터랙티브 검색으로 바꿔줍니다.
- 개념: 셸 히스토리를 SQLite로 저장해 명령어·디렉터리·시점을 함께 구조화합니다.
- 주요 기능: 전체 히스토리 검색, 디렉터리·사용자별 필터, 통계, 기기 간 암호화 동기화를 제공합니다.
- 장점:
Ctrl+R한 번으로 과거 명령을 즉시 찾고, 같은 명령을 여러 서버에서 재사용할 수 있습니다. - 활용: "그저께 그 서버에서 쓴 그 명령"을 기억할 때 사용합니다.
기본 사용법
atuin은 설치 후 셸에 통합하면, 기존 히스토리 검색 단축키를 그대로 사용하면서 더 강력한 검색을 얻습니다.
1. 가입·로그인 → 셸 통합
처음 실행하면 계정을 만들고 셸 설정 파일에 자동으로 통합해 줍니다.
atuin register --username 내아이디 --email me@example.com
atuin login
atuin import # 기존 히스토리를 가져옴
2. 검색 사용법 (Ctrl+R)
이제 평소처럼 Ctrl+R을 누르면 인터랙티브 검색 UI가 뜹니다. 화살표로 이동, Enter로 실행, Esc로 취소합니다.
# Ctrl+R 로 검색, 또는 아래처럼 명령으로 검색
atuin search "docker ps"
atuin search --directory /var/log
3. 통계·동기화
히스토리 규모를 확인하고 기기 간 동기화합니다.
atuin stats
atuin sync # 서버와 동기화
atuin history list # 최근 히스토리 나열
설치 및 다운로드
atuin은 공식 설치 스크립트·cargo·패키지 매니저로 설치합니다.
| 환경 | 명령 |
|---|---|
| 공식 원라이너 (Linux/macOS) | curl -LsSf https://atuin.sh/install.sh | sh |
| cargo | cargo install atuin |
| Ubuntu/Debian (패키지) | sudo apt install atuin |
| macOS (Homebrew) | brew install atuin |
설치 확인은 atuin --version, 셸 통합은 atuin init 출력을 셸 rc 파일에 넣거나 가입 시 자동으로 추가됩니다.
자주 쓰는 명령
| 명령·키 | 설명 |
|---|---|
atuin search "키워드" | 전체 히스토리에서 명령어를 검색합니다 |
atuin search --directory ~/proj | 특정 디렉터리에서 실행한 명령만 검색합니다 |
atuin stats | 가장 많이 쓴 명령·디렉터리 통계를 보여줍니다 |
atuin sync | 서버와 히스토리를 동기화합니다 |
atuin import | 기존 bash/zsh 히스토리를 가져옵니다 |
필수 명령어 조합 3가지
atuin search "git" | head— 과거 git 명령을 모아 확인atuin search --directory /etc— 그 서버에서 /etc 아래에 입력한 명령 검색atuin stats | head— 내가 가장 자주 쓰는 명령 파악
💬 "실제 서버에서 atuin을 사용하는 예시"
실제 운영 서버에서 히스토리 검색이 필요한 상황을 순서대로 정리했습니다.
1단계 · 히스토리 가져오기
기존 히스토리를 atuin으로 옮깁니다.
atuin import && atuin stats
2단계 · 잊어버린 명령 검색
몇 주 전 입력한 배포 명령을 찾습니다.
atuin search "deploy"
3단계 · 특정 디렉터리 명령만
설정 파일을 만진 기록을 추적합니다.
atuin search --directory ~/workspace
실무에서는 이렇게 씁니다
1. 잊어버린 긴 명령 재사용
상황 — 며칠 전 실행한 복잡한 rsync 명령을 찾습니다.
atuin search "rsync --delete"
결과 — 과거 입력한 전체 rsync 명령과 실행 시점·결과가 함께 나옵니다.
포인트 — 복사해 바로 재실행하므로 오타·누락을 막습니다.
2. 서버별 히스토리 추적
상황 — 특정 서버에서 무엇을 했는지 감사합니다.
atuin search --directory /var/www
결과 — 그 경로에서 실행한 명령 목록이 시점과 함께 정리됩니다.
포인트 — 장애 원인 추적·작업 이력 정리에 활용합니다.
주의할 점
- 기기 간 동기화는 Atuin 서버 계정이 필요하며, 히스토리가 외부 서버에 저장됩니다(암호화되지만 공용 서버는 신중히 선택).
- 동기화가 필요 없다면 로컬 SQLite만 사용해도 검색은 그대로 동작합니다.
- 쉘 rc 파일(
~/.bashrc등)이 자동 수정되므로, 설정 버전 관리를 쓰면 커밋 대상에 포함합니다.