Obsidian 1.12+

터미널에서 Obsidian을
자유롭게 제어하세요

Obsidian CLI는 터미널에서 직접 조작할 수 있는 명령줄 인터페이스예요.
스크립팅, 자동화, 외부 도구 연동을 통해 노트 작업의 생산성을 극대화 해봐요!

terminal
# 오늘의 데일리 노트 열기
obsidian daily

# vault 전체에서 검색
obsidian search query="meeting notes"

# 데일리 노트에 할 일 추가
obsidian daily:append content="- [ ] Buy groceries"
Obsidian 1.12 installer 이상이 필요합니다. 업데이트 가이드 →

즉시 실행

단일 명령으로 노트 생성, 검색, 편집, 이동까지 — 모든 Obsidian 기능을 CLI로 제어합니다.

🔁

자동화 & 스크립팅

cron, shell script, CI/CD 파이프라인에 통합하여 반복 작업을 자동화하세요.

🖥

TUI 인터페이스

자동완성, 명령 히스토리, 역방향 검색을 지원하는 터미널 UI로 빠르게 탐색하세요.

🔧

개발자 도구

플러그인 리로드, 스크린샷, JS 실행, DevTools 토글 등 플러그인 개발을 가속합니다.

설치 방법

Obsidian CLI를 활성화하는 과정은 단 3단계입니다.

01

Obsidian 최신 버전으로 업그레이드

Installer 버전 1.12+ (권장: 최신 1.12.4+) 와 최신 얼리 액세스 버전 (1.12.x) 으로 업그레이드하세요.

02

CLI 활성화

Settings → General 에서 Command line interface 를 활성화합니다.

03

CLI 등록

화면의 안내에 따라 Obsidian CLI를 시스템에 등록합니다. 등록 후 터미널을 재시작하세요.

~/.zprofile 에 PATH가 자동으로 추가됩니다. 다른 셸(bash, fish)을 사용하는 경우 해당 설정 파일에 직접 추가하세요.

~/.zprofile
export PATH="$PATH:/Applications/Obsidian.app/Contents/MacOS"

Windows에서는 Obsidian.com 터미널 리디렉터가 설치 폴더에 추가됩니다. Installer 1.12.4 이상에서 자동으로 포함됩니다.

AppImage: /usr/local/bin/obsidian 에 심볼릭 링크가 생성됩니다 (sudo 필요). 실패 시 ~/.local/bin/obsidian 에 생성됩니다.

terminal
sudo ln -s /path/to/obsidian /usr/local/bin/obsidian

Flatpak: 아래처럼 ~/.local/bin/obsidian 링크를 수동으로 생성한 뒤, ~/.local/bin 이 PATH에 포함되어야 합니다.

terminal
ln -s "$HOME/.local/share/flatpak/exports/bin/md.obsidian.Obsidian" "$HOME/.local/bin/obsidian"

첫 번째 명령 실행

CLI를 설치했다면 아래처럼 바로 사용해보세요. Obsidian 앱이 실행 중이어야 합니다.

단일 명령 실행

shell
# 도움말 보기
obsidian help

TUI 모드 사용

shell
# TUI 열기 (자동완성 지원)
obsidian

이렇게 활용하세요

일상적인 노트 작업부터 개발자 자동화까지, 실용적인 예제를 확인하세요.

everyday use
# 오늘 데일리 노트 열기
obsidian daily

# 데일리 노트에 할 일 추가
obsidian daily:append content="- [ ] Buy groceries"

# vault 검색
obsidian search query="meeting notes"

# 현재 파일 읽기
obsidian read

# 데일리 노트의 모든 태스크 나열
obsidian tasks daily

# 템플릿으로 새 노트 생성
obsidian create name="Trip to Paris" template=Travel

# vault의 모든 태그와 빈도 보기
obsidian tags counts

# 파일 두 버전 비교
obsidian diff file=README from=1 to=3
developer commands
# 개발자 도구 열기
obsidian devtools

# 개발 중인 플러그인 리로드
obsidian plugin:reload id=my-plugin

# 앱 스크린샷 촬영
obsidian dev:screenshot path=screenshot.png

# 앱 콘솔에서 JavaScript 실행
obsidian eval code="app.vault.getFiles().length"

# JS 에러 목록 확인
obsidian dev:errors

# CSS 속성 검사
obsidian dev:css selector=".markdown-preview-view"

# DOM 쿼리
obsidian dev:dom selector=".nav-folder-title" text
automation script
#!/bin/bash
# 매일 아침 루틴: 데일리 노트 준비 스크립트

# 데일리 노트 생성 및 열기
obsidian daily

# 고정 태스크 목록 추가
obsidian daily:append content="## 오늘의 루틴\n- [ ] 이메일 확인\n- [ ] 스탠드업 미팅\n- [ ] 코드 리뷰"

# 최근 수정 파일 목록 클립보드에 복사
obsidian files --copy

# 미해결 링크 확인
obsidian unresolved total

# 특정 vault에서 검색 후 결과를 파일로 저장
obsidian vault="My Vault" search query="TODO" format=json > todos.json

파라미터 & 플래그

명령어는 파라미터플래그를 사용합니다.

Parameter

값이 있는 파라미터

parameter=value 형식으로 작성. 공백이 있으면 따옴표로 감쌉니다.

obsidian create name=Note content="Hello world"
Flag

불리언 플래그

값 없이 단독으로 사용하는 스위치. 포함하면 활성화됩니다.

obsidian create name=Note open overwrite
Vault

Vault 지정

명령 앞에 vault=<name>을 붙여 특정 vault를 대상으로 합니다.

obsidian vault="My Vault" search query=test
Copy

출력 복사

어떤 명령에도 --copy 를 붙이면 결과를 클립보드에 복사합니다.

obsidian search query="TODO" --copy

전체 명령어

카테고리별로 탐색하고 빠르게 검색하세요.

⚙️ 일반 (General)
help
모든 명령어 목록 표시. help <command>로 특정 명령 도움말 조회.
version
Obsidian 버전 표시.
reload
앱 창 새로고침.
restart
앱 재시작.
🧱 베이스 (Bases)
bases
vault 내 베이스 목록.
base:views
베이스의 뷰 목록. file=<base-file> (필수)
base:create
베이스에 새 레코드 생성. file=<base-file> view=<name>
base:query
베이스 뷰 쿼리 실행. file=<base-file> view=<name> query=<text>
📁 파일 & 폴더 (Files & Folders)
file
파일 정보 조회 (기본: 활성 파일). file=<name>, path=<path>
files
vault 내 파일 목록. folder=<path> ext=<extension> total
folder
폴더 정보 조회. path=<path> (필수)
folders
vault 내 폴더 목록.
open
파일 열기. file=<name> newtab
create
파일 생성 또는 덮어쓰기. name content template overwrite open
read
파일 내용 읽기 (기본: 활성 파일).
append
파일 끝에 내용 추가. content=<text> (필수) inline
prepend
frontmatter 이후에 내용 추가. content=<text> (필수)
move
파일 이동/이름 변경. to=<path> (필수). 내부 링크 자동 업데이트.
rename
파일 이름 변경. name=<name> (필수). 확장자 자동 유지.
delete
파일 삭제 (기본: 휴지통). permanent 플래그로 영구 삭제.
📅 데일리 노트 (Daily Notes)
daily
데일리 노트 열기. paneType=tab|split|window
daily:path
데일리 노트 경로 조회 (미생성 상태에서도 반환).
daily:read
데일리 노트 내용 읽기.
daily:append
데일리 노트 끝에 내용 추가. content=<text> (필수)
daily:prepend
데일리 노트 앞에 내용 추가. content=<text> (필수)
🔍 검색 (Search)
search
vault 텍스트 검색, 매칭 파일 경로 반환. query=<text> (필수) limit format=text|json
search:context
컨텍스트 포함 검색. grep 스타일 path:line: text 출력.
search:open
검색 뷰 열기. query=<text>로 초기 쿼리 지정.
태스크 (Tasks)
tasks
vault 내 태스크 목록. todo done daily verbose format=json|tsv|csv
task
태스크 조회 또는 업데이트. toggle done todo status=<char>
🏷 태그 (Tags)
tags
vault 태그 목록. sort=count counts total active
tag
특정 태그 정보. name=<tag> (필수) verbose
🔗 링크 (Links)
backlinks
파일의 백링크 목록 (기본: 활성 파일).
links
파일의 아웃고잉 링크 목록.
unresolved
vault 내 미해결 링크 목록.
orphans
인커밍 링크가 없는 파일 목록.
deadends
아웃고잉 링크가 없는 파일 목록.
🕒 파일 히스토리 (File History)
diff
파일 버전 비교. from=<n> to=<n> filter=local|sync
history
파일 히스토리 보기.
history:list
파일 히스토리 버전 목록.
history:read
특정 로컬 히스토리 버전 읽기. version=<n>
history:restore
로컬 히스토리 버전 복원. version=<n> (필수)
history:open
특정 히스토리 버전을 새 탭으로 열기. version=<n> (필수)
🧩 플러그인 (Plugins)
plugins
설치된 플러그인 목록. filter=core|community versions
plugins:enabled
활성화된 플러그인 목록.
plugins:restrict
제한 모드 상태 조회/변경. on off
plugin
특정 플러그인 정보 조회. id=<id> (필수)
plugin:enable
플러그인 활성화. id=<id> (필수)
plugin:disable
플러그인 비활성화. id=<id> (필수)
plugin:install
커뮤니티 플러그인 설치. id=<id> (필수) enable
plugin:uninstall
커뮤니티 플러그인 제거. id=<id> (필수)
plugin:reload
플러그인 리로드 (개발자용). id=<id> (필수)
☁️ 동기화 (Sync)
sync
동기화 일시정지 / 재개. on off
sync:status
동기화 상태 및 사용량 표시.
sync:history
Sync 버전 히스토리 목록.
sync:read
특정 Sync 버전 내용 읽기. version=<n>
sync:restore
Sync 버전 복원. version=<n> (필수)
sync:open
특정 Sync 버전을 새 탭으로 열기. version=<n>
sync:deleted
Sync에서 삭제된 파일 목록.
🏷 속성 (Properties)
properties
vault 또는 파일의 속성 목록. format=yaml|json|tsv
aliases
파일의 aliases 속성 조회.
property:set
파일에 속성 설정. name value type (필수)
property:read
속성 값 읽기. name=<name> (필수)
property:remove
속성 제거. name=<name> (필수)
🌐 퍼블리시 (Publish)
publish:site
퍼블리시 사이트 정보 (slug, URL) 표시.
publish:list
퍼블리시된 파일 목록.
publish:status
퍼블리시 변경사항 목록. new changed deleted
publish:add
파일 퍼블리시. changed로 모든 변경 파일 일괄 퍼블리시.
publish:remove
파일 게시 취소.
publish:open
게시된 파일을 사이트에서 열기.
🛠 개발자 도구 (Developer)
devtools
Electron 개발자 도구 토글.
dev:debug
디버그 모드 토글. on off
dev:cdp
Chrome DevTools Protocol 요청 실행. method=<name> params=<json>
eval
JavaScript 실행 및 결과 반환. code=<javascript> (필수)
dev:screenshot
스크린샷 촬영 (base64 PNG 반환). path=<filename>
dev:console
캡처된 콘솔 메시지 표시. level=log|warn|error|info|debug limit=<n>
dev:errors
캡처된 JS 에러 표시. clear
dev:css
CSS 소스 위치와 함께 검사. selector=<css> (필수)
dev:dom
DOM 요소 쿼리. selector=<css> (필수)
dev:mobile
모바일 에뮬레이션 토글. on off
🗄 Vault & 워크스페이스
vault
vault 정보 표시. info=name|path|files|folders|size
vaults
알려진 vault 목록.
vault:open
특정 vault 열기. name=<vault> 또는 path=<path>
workspace
워크스페이스 트리 표시.
workspaces
저장된 워크스페이스 목록.
workspace:save
현재 레이아웃을 워크스페이스로 저장.
workspace:load
저장된 워크스페이스 불러오기.
workspace:delete
워크스페이스 삭제. name=<workspace> (필수)
tabs
열린 탭 목록.
tab:open
인덱스로 탭 열기. index=<n> (필수)
recents
최근 열린 파일 목록.
🎨 테마 & 스니펫 (Themes)
themes
설치된 테마 목록.
theme
현재 테마 정보 표시.
theme:set
테마 변경. name=<name> (필수)
theme:install
커뮤니티 테마 설치. name=<name> enable
theme:uninstall
커뮤니티 테마 제거. name=<name> (필수)
snippets
설치된 CSS 스니펫 목록.
snippets:enabled
활성화된 CSS 스니펫 목록.
snippet:enable
CSS 스니펫 활성화. name=<name> (필수)
snippet:disable
CSS 스니펫 비활성화. name=<name> (필수)
🔀 기타 명령어
commands
사용 가능한 커맨드 팔레트 ID 목록.
command
Obsidian 명령 실행. id=<command-id> (필수)
hotkeys
단축키 목록 표시.
hotkey
특정 명령의 단축키 조회. id=<command-id> (필수)
random
랜덤 노트 열기. folder=<path>
random:read
랜덤 노트를 읽어서 출력.
wordcount
단어 수 / 문자 수 카운트. words characters
outline
현재 파일의 헤딩 표시. format=tree|md|json
bookmarks
북마크 목록. verbose format=json|tsv|csv
bookmark
특정 북마크 정보 조회. path=<path>
web
웹 뷰어에서 URL 열기. url=<url> (필수)
unique
유니크 노트 생성.
templates
템플릿 목록.
template:read
템플릿 내용 읽기. name=<template> (필수)
template:insert
활성 파일에 템플릿 삽입. name=<template> (필수)

키보드 단축키

TUI 모드에서 사용 가능한 모든 단축키입니다.

탐색 (Navigation)

커서 왼쪽 / Ctrl+B
커서 오른쪽 / Ctrl+F
줄 처음으로Ctrl+A
줄 끝으로Ctrl+E
한 단어 뒤로Alt+B
한 단어 앞으로Alt+F

편집 (Editing)

줄 처음까지 삭제Ctrl+U
줄 끝까지 삭제Ctrl+K
이전 단어 삭제Ctrl+W / Alt+⌫

자동완성 (Autocomplete)

제안 모드 진입 / 수락Tab
제안 모드 종료Shift+Tab
첫 번째 제안 수락

히스토리 (History)

이전 히스토리 / Ctrl+P
다음 히스토리 / Ctrl+N
역방향 검색Ctrl+R

기타 (Other)

명령 실행Enter
취소 / 초기화Escape
화면 지우기Ctrl+L
종료Ctrl+C / Ctrl+D

Troubleshooting

CLI 실행에 문제가 있다면 아래를 확인하세요.

🔄

기본 체크리스트

  • 최신 Obsidian installer 사용 확인 (권장: 1.12.4 이상)
  • CLI 등록 후 터미널 재시작
  • Obsidian 앱이 실행 중인지 확인 (첫 번째 명령이 앱을 실행함)
🪟

Windows

Installer 1.12.4+ 필요. Obsidian.com 터미널 리디렉터가 Obsidian.exe와 같은 폴더에 추가됩니다.

🍎

macOS

~/.zprofile 에 아래 줄이 있는지 확인하세요. 없으면 수동으로 추가하세요.

export PATH="$PATH:/Applications/Obsidian.app/Contents/MacOS"

다른 셸(bash, fish)을 사용 중이라면 해당 설정 파일에도 추가해야 합니다.

🐧

Linux

AppImage: 심볼릭 링크 확인: ls -l /usr/local/bin/obsidian

# 심볼릭 링크 수동 생성
sudo ln -s /path/to/obsidian /usr/local/bin/obsidian

# ~/.local/bin 에 생성된 경우, PATH에 추가
export PATH="$PATH:$HOME/.local/bin"

Flatpak: 아래 링크를 생성하고 ~/.local/bin 을 PATH에 추가하세요.

ln -s "$HOME/.local/share/flatpak/exports/bin/md.obsidian.Obsidian" "$HOME/.local/bin/obsidian"
export PATH="$PATH:$HOME/.local/bin"

Snap 사용 시: XDG_CONFIG_HOME="$HOME/snap/obsidian/current/.config" 환경변수 설정이 필요할 수 있습니다.

클립보드에 복사되었습니다 ✓