Obsidian CLI 입문
이 글은 Obsidian CLI 시리즈의 첫 번째 글이에요.
- Obsidian CLI 입문: 터미널에서 노트를 다루는 새로운 방법 ← 현재 글
- Obsidian CLI 비교: 공식 CLI vs URI vs 직접 파일 조작
- Obsidian CLI 자동화: 스크립트와 워크플로우 실전 가이드
문제: 노트 하나 쓰려고 GUI를 열어야 하는가
터미널에서 코드를 쓰다가 떠오른 생각을 메모하고 싶을 때가 있습니다.
- ⌘+Tab으로 Obsidian 창을 찾습니다
- 데일리 노트를 엽니다
- 적당한 위치에 커서를 놓고 입력합니다
- 다시 ⌘+Tab으로 터미널로 돌아옵니다
한 줄 메모에 4단계. 이런 상황이 반복되면 점점 메모를 안 하게 됩니다.
자동화도 마찬가지입니다. 매일 데일리 노트를 만들고, 커밋 로그를 기록하고, 태그를 정리하고 싶은데, GUI에서는 이걸 스크립트로 만들 수가 없습니다.
2026년 2월, Obsidian v1.12에서 공식 CLI가 추가됐습니다.
Obsidian CLI란
Obsidian CLI는 Obsidian v1.12.0에서 Early Access로 출시되고, v1.12.4부터 모든 사용자에게 무료로 공개된 공식 커맨드라인 인터페이스입니다.
100개 이상의 명령어를 제공하며, 데일리 노트 작성부터 검색, 태그 관리, 노트 생성, 파일 비교까지 Obsidian의 핵심 기능을 터미널에서 사용할 수 있습니다.
동작 구조는 다음과 같습니다:
터미널 명령어 → CLI → 로컬 소켓 → Obsidian 프로세스 → 볼트 조작
CLI가 Obsidian 내부 API를 통해 작동하기 때문에, 파일을 이동하면 위키링크가 자동으로 업데이트되고, 속성을 변경하면 인덱스에 즉시 반영됩니다. 단, Obsidian 데스크톱 앱이 실행 중이어야 합니다 — 헤드리스 도구가 아닙니다.
활성화
1. CLI 활성화
Obsidian을 열고 Settings → General → Command line interface를 켭니다.
화면의 안내에 따라 시스템 PATH에 CLI를 추가하고, 터미널을 재시작합니다.
2. 설치 확인
obsidian version
정상이면 버전 번호가 출력됩니다.
3. 볼트 확인
# 등록된 볼트 목록
obsidian vaults
터미널의 현재 디렉터리가 볼트 폴더면 그 볼트를, 아니면 현재 활성 볼트를 기본으로 사용합니다. 다른 볼트를 지정하려면 명령 앞에 vault= 파라미터를 붙입니다:
# 특정 볼트를 대상으로 실행 (vault=는 첫 번째 파라미터여야 함)
obsidian vault="MyVault" daily
데일리 노트
CLI의 킬러 피처입니다. 터미널에서 데일리 노트를 열고, 내용을 추가하고, 태스크를 확인할 수 있습니다.
기본 사용
# 오늘의 데일리 노트 열기 (없으면 자동 생성)
obsidian daily
# 데일리 노트 내용을 터미널에 출력
obsidian daily:read
내용 추가
# 데일리 노트에 텍스트 추가
obsidian daily:append content="## 오후 회의 메모
- 배포 일정 확인
- 버그 #234 논의"
태스크 확인
# 오늘 데일리 노트의 태스크 목록
obsidian tasks daily
실전 예제: git 커밋 로그를 데일리 노트에 기록
터미널에서 하루 작업을 마치고, 오늘의 커밋을 데일리 노트에 자동으로 기록할 수 있습니다:
obsidian daily:append content="## Git 커밋 요약
$(git log --oneline --since='08:00' --until='now')"
이 한 줄이면 됩니다. GUI를 열 필요도, 복사-붙여넣기를 할 필요도 없습니다.
검색과 읽기
볼트 검색
# 키워드로 볼트 전체 검색
obsidian search query="프로젝트 일정"
# 특정 경로 안에서만 검색
obsidian search query="배포" path="Work/"
검색 옵션:
| 옵션 | 설명 | 예시 |
|---|---|---|
query | 키워드 검색 | obsidian search query="TODO" |
path | 경로 제한 | obsidian search query="회의" path="Daily/" |
노트 읽기
# 노트 내용을 터미널에 출력
obsidian read path="Projects/blog-migration.md"
# 활성 파일 읽기
obsidian read
터미널에서 노트를 읽을 수 있다는 건, grep이나 fzf와 조합할 수 있다는 뜻입니다.
파일 비교
# 노트의 변경 이력 확인
obsidian diff path="Projects/blog-migration.md"
노트 생성
# 새 노트 생성
obsidian create name="Meeting/2026-04-14-standup"
# 템플릿을 적용해서 생성
obsidian create name="Projects/new-feature" template="Templates/project"
# 내용과 함께 생성
obsidian create name="TIL/obsidian-cli" content="# Obsidian CLI
오늘 배운 것: 터미널에서 노트를 다루는 방법"
GUI에서 템플릿을 쓰는 것과 동일하게, template 옵션으로 지정한 템플릿이 적용됩니다. Obsidian 내부 API를 통해 생성되므로 플러그인(Templater 등)도 정상 작동합니다.
태그 관리
# 볼트의 모든 태그와 사용 횟수
obsidian tags counts
출력 예시:
| 태그 | 노트 수 |
|---|---|
| #project | 23 |
| #til | 45 |
| #meeting | 12 |
| #blog | 8 |
특정 태그가 달린 노트를 찾으려면:
# 태그 정보와 해당 노트 목록 조회
obsidian tag name=project verbose
태그 사용 현황을 한눈에 파악하고, 정리가 필요한 태그를 빠르게 찾을 수 있습니다.
주요 명령어 정리
| 명령어 | 설명 |
|---|---|
obsidian daily | 오늘의 데일리 노트 열기/생성 |
obsidian daily:append content="..." | 데일리 노트에 내용 추가 |
obsidian daily:read | 데일리 노트 내용 출력 |
obsidian tasks daily | 데일리 노트의 태스크 목록 |
obsidian search query="..." | 볼트 전체 검색 |
obsidian read path="..." | 노트 내용을 터미널에 출력 |
obsidian diff path="..." | 노트 변경 이력 확인 |
obsidian create name="..." | 새 노트 생성 |
obsidian create ... template=... | 템플릿으로 노트 생성 |
obsidian tags counts | 태그별 사용 횟수 |
obsidian tag name=... verbose | 태그가 달린 노트 목록 |
obsidian vaults | 볼트 목록 |
obsidian vault="..." <명령> | 특정 볼트 지정 |
마치며
Obsidian CLI는 Obsidian을 터미널 시민으로 만들어줍니다. 생각이 떠오른 순간에서 기록까지의 거리가 짧아집니다.
설정에 1분, 첫 명령어 실행에 10초예요. 이미 Obsidian을 쓰고 있다면 한번 켜보세요.
다음 글에서는 공식 CLI 외에 URI scheme과 직접 파일 조작까지 포함해서, Obsidian을 터미널에서 제어하는 세 가지 방법을 비교해요.