이 글은 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 vault list
여러 볼트를 사용한다면 기본 볼트를 지정해두면 편하다:
# 기본 볼트 설정
obsidian vault set-default "MyVault"
이후 명령어에서 vault= 옵션을 생략할 수 있다.
데일리 노트
CLI의 킬러 피처다. 터미널에서 데일리 노트를 열고, 내용을 추가하고, 태스크를 확인할 수 있다.
기본 사용
# 오늘의 데일리 노트 열기 (없으면 자동 생성)
obsidian daily
# 어제 데일리 노트 열기
obsidian daily --offset=-1
# 특정 날짜
obsidian daily --offset=-7
내용 추가
# 데일리 노트에 텍스트 추가
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" |
tag | 태그로 필터링 | obsidian search tag="#project" |
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 tags list tag="#project"
태그 사용 현황을 한눈에 파악하고, 정리가 필요한 태그를 빠르게 찾을 수 있다.
주요 명령어 정리
| 명령어 | 설명 |
|---|---|
obsidian daily | 오늘의 데일리 노트 열기/생성 |
obsidian daily:append content="..." | 데일리 노트에 내용 추가 |
obsidian daily --offset=-1 | 어제 데일리 노트 열기 |
obsidian tasks daily | 데일리 노트의 태스크 목록 |
obsidian search query="..." | 볼트 전체 검색 |
obsidian read path="..." | 노트 내용을 터미널에 출력 |
obsidian diff path="..." | 노트 변경 이력 확인 |
obsidian create name="..." | 새 노트 생성 |
obsidian create ... template=... | 템플릿으로 노트 생성 |
obsidian tags counts | 태그별 사용 횟수 |
obsidian tags list tag="..." | 태그로 노트 필터링 |
obsidian vault list | 볼트 목록 |
obsidian vault set-default "..." | 기본 볼트 설정 |
마치며
Obsidian CLI는 Obsidian을 터미널 시민으로 만들어준다. 생각이 떠오른 순간에서 기록까지의 거리가 짧아진다.
설정에 1분, 첫 명령어 실행에 10초. 이미 Obsidian을 쓰고 있다면 한번 켜보자.
다음 글에서는 공식 CLI 외에 URI scheme과 직접 파일 조작까지 포함해서, Obsidian을 터미널에서 제어하는 세 가지 방법을 비교한다.