본문 바로가기
C.W.K.
Stream
Lesson 07 of 08 · published

Atuin: 스테로이드 맞은 셸 히스토리

~10 min · atuin, history, sync

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

평면적인 명령 기록 파일을 넘어서

Atuin은 셸 히스토리를 구조화해 시각, 종료 상태, 디렉터리, 호스트 같은 문맥으로 검색하게 해. 로컬 저장과 선택적 동기화를 제공하지만, 명령 기록에는 경로와 인자에 포함된 민감한 값이 들어갈 수 있어.

설치

brew install atuin
atuin import auto             # 기존 zsh 명령 기록 가져오기
echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
exec zsh

초기화 줄을 적용하면 Ctrl+R이 Atuin 검색 화면을 열어. 기존 zsh 명령 기록은 atuin import auto를 실행할 때 한 번 가져와.

문맥으로 명령 기록 좁히기

  • 디렉터리 필터로 현재 프로젝트에서 실행한 명령만 볼 수 있어.
  • 호스트 필터로 특정 컴퓨터에서 실행한 명령만 고를 수 있어.
  • 종료 상태로 성공하거나 실패한 명령을 구분할 수 있어.
  • 시간대 통계로 자주 실행한 명령을 확인할 수 있어.
  • 선택적 동기화는 종단 간 암호화를 사용하며 자체 서버나 Atuin 서비스에 연결할 수 있어.

명령 기록 동기화하기

atuin register -u me -e me@example.com
atuin login -u me
atuin sync                       # 원격과 양방향 동기화
atuin sync -f                    # 전체 동기화를 강제로 실행

동기화는 암호화와 계정 복구 방식, 암호화 키를 보관할 책임을 함께 이해한 뒤 켜. 암호화된 저장소라도 클라이언트에 남은 평문 히스토리와 화면 노출까지 사라지는 것은 아니야.

동기화보다 먼저 제외 규칙

여러 머신에서 히스토리를 공유하기 전에 토큰, 비밀번호, 일회성 인증 URL처럼 기록되면 안 되는 입력을 어떻게 제외할지 정해. 비밀은 애초에 명령줄 인자로 넣지 않고 표준 입력이나 안전한 자격 증명 저장소를 사용하는 편이 나아.

검색이 좋아질수록 보존 범위도 커져

디렉터리와 호스트 정보가 붙으면 예전 명령을 찾기 쉬워지지만 프로젝트 이름, 서버 이름, 작업 시간도 함께 남아. 보존 기간, 삭제 방법, 백업 위치를 확인해. 생산성 데이터 역시 운영해야 할 데이터야.

Ctrl+R 소유자는 하나만

fzf와 Atuin을 함께 설치하면 둘 다 같은 키 바인딩을 바꾸려 할 수 있어. 초기화 순서에 우연히 맡기지 말고 어느 도구가 히스토리 검색을 소유할지 정해. 예상과 다른 화면이 뜰 때는 셸 설정에서 두 초기화 줄의 순서와 중복을 확인하자.

명령 기록은 민감한 데이터야

히스토리에는 경로, 호스트 이름, 인자, 실수로 붙여 넣은 비밀이 남을 수 있어. 가져오기와 동기화 전에 필터, 보존 기간, 암호화 키 복구 방법을 확인해.

Code

빠른 atuin 투어·bash
brew install atuin
atuin import auto
echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
exec zsh
# Ctrl+R 누르기
# 선택기에서 디렉터리·호스트·종료 상태로 필터링

External links

Exercise

Atuin을 설치한 뒤 기존 기록을 가져오기 전에 동기화와 비밀 필터 정책을 확인해. 공식 초기화 줄을 추가하고 새 터미널에서 Ctrl+R을 열어 현재 디렉터리 필터를 시험한 뒤, 어떤 기록이 저장되고 검색되는지 살펴봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.