Claude Code CLI (2) - 기본 사용 방법 (클로드 코드 - 고급 CLI 명령어 사용 방법)
- -
안녕하세요! 갓대희 입니다. :- )
Claude Code CLI 첫번째 글을 올린 후 어느정도 익숙해지니 "더 클로드 코드를 잘 쓸 수 있는, 잘 활용할 수 있는 고급 기능은?" 이라는 생각에 심화과정 고급 옵션에 대해 알아보려고 한다.
Claude Code v2.0.x 출시 이후 내용을 변경된 내용을 적용 하였습니다.
기본적인 명령어가 궁금하다면 다음 글을 참고해주시면 좋을 것 같다.
2025.07.21 - [AI/Claude] - Claude Code CLI (1) - 기본 사용 방법 (클로드 코드 기초 - 기본 명령어 사용 방법)
목차
1. CLI 기본 명령어
Claude Code CLI의 핵심 명령어들을 살펴보자. 대화형 모드부터 비대화형 스크립트 실행까지 다양한 방식으로 사용할 수 있다.
claude
claude "이 프로젝트 구조를 분석해줘"
claude -p "API 에러 핸들링 추가해줘"
claude --print "이 컴포넌트에 PropTypes 추가해줘"
claude -c
claude --continue
claude -r "session-id" "추가 질문"
claude --resume "session-id"
claude update
claude mcp list
claude mcp add [server-name] [config]
claude config list # 모든 설정 조회
claude config get [key] # 특정 설정 값 조회
claude config set [key] [value] # 설정 값 변경
claude config clear [key] # 설정 값 초기화
claude api-key
-c 옵션으로 이전 대화를 이어갈 수 있어서, 중단된 작업을 빠르게 재개할 수 있다. 특히 복잡한 리팩토링 작업 중 터미널을 닫았을 때 유용하다.2. 주요 CLI 플래그 및 옵션
2.1 출력 및 입력 제어
| 플래그 | 설명 | 예시 |
|---|---|---|
--print, -p |
대화형 모드 없이 응답만 출력 | claude -p "분석해줘" |
--output-format |
출력 형식 지정: text, json, stream-json | --output-format json |
--input-format |
입력 형식 지정: text, stream-json | --input-format stream-json |
--verbose |
상세 로깅 활성화 | claude --verbose -p "..." |
출력 포맷 예시
claude -p "코드 리뷰해줘"
claude --output-format json -p "함수 분석해줘" < input.js
claude --output-format stream-json -p "대용량 파일 처리"
2.2 시스템 프롬프트 커스터마이징
Claude의 기본 동작을 변경하거나 특정 역할을 부여할 수 있다.
| 플래그 | 설명 | 제약사항 |
|---|---|---|
--system-prompt |
기본 프롬프트를 완전히 교체 | --system-prompt-file과 동시 사용 불가 |
--system-prompt-file |
파일에서 프롬프트 로드 (print 모드만) | --system-prompt과 동시 사용 불가 |
--append-system-prompt |
기본 프롬프트에 명령 추가 | 다른 옵션과 함께 사용 가능 |
claude --append-system-prompt "너는 10년차 시니어 개발자야. 코드 리뷰 시 보안과 성능을 최우선으로 검토해줘." -p "이 코드 리뷰해줘"
claude --system-prompt-file ./prompts/reviewer.txt -p "분석해줘"
2.3 도구 권한 관리
Claude Code는 안전을 위해 파일 수정이나 명령 실행 전에 허가를 구한다. 하지만 자동화 환경에서는 이게 방해가 될 때가 있다.
| 플래그 | 설명 |
|---|---|
--allowedTools |
특정 도구만 허용 (쉼표로 구분) |
--disallowedTools |
특정 도구 차단 (쉼표로 구분) |
--dangerously-skip-permissions |
모든 권한 확인 생략 ⚠️ |
--permission-mode |
권한 처리 방식 설정 |
claude --allowedTools "Read,Edit" -p "코드 리팩토링해줘"
claude --disallowedTools "Bash" -p "파일 정리해줘"
claude --dangerously-skip-permissions -p "프로젝트 설정해줘"
이 옵션은 이름 그대로 "위험하게" 모든 권한 확인을 건너뛴다. 다음 상황에서만 사용하자
( 생산성 입장에서는 매우 좋지만, 요즘 prompt injection등 여러가지 보안 문제가 터지고 있으니, 웨부 웹 검색 등 검증되지 않는 내용을 가져오고 수행할때에는 꼭 사람이 개입하는게 좋을 것 같다. )
• 신뢰할 수 있는 로컬 개발 환경
• 완전히 제어된 CI/CD 파이프라인
• 프로덕션 환경에서는 절대 사용 금지
2.4 실행 제어
| 플래그 | 설명 | 예시 |
|---|---|---|
--model |
사용할 모델 지정 | --model opus |
--max-turns |
에이전트 턴 수 제한 (비대화형) | --max-turns 5 |
--add-dir |
추가 작업 디렉토리 포함 | --add-dir ../shared |
--json-schema |
JSON 출력 스키마 검증 | --json-schema schema.json |
claude --max-turns 3 -p "간단한 버그 수정해줘"
claude --model opus -p "이 아키텍처의 보안 취약점을 분석해줘"
claude --add-dir ../common --add-dir ../utils -p "공통 모듈 분석해줘"
3. 슬래시 명령어 (인터랙티브 모드)
대화형 모드(claude 명령으로 시작)에서 사용할 수 있는 슬래시 명령어들이다. 이 명령어들은 Claude Code를 더욱 효율적으로 사용할 수 있게 해준다.
3.1 기본 명령어
| 명령어 | 설명 |
|---|---|
/help |
사용 가능한 모든 명령어 표시 |
/exit |
REPL 종료 |
/clear |
대화 기록 초기화 (새 작업 시작 시 유용) |
/bug |
Claude Code 버그 리포트 제출 |
3.2 설정 및 상태 관리
| 명령어 | 설명 |
|---|---|
/config |
설정 인터페이스 열기 |
/model |
AI 모델 선택/변경 (대화형 메뉴) |
/status |
현재 상태 정보 표시 |
/doctor |
설치 상태 및 환경 확인 (문제 해결용) |
/login / /logout |
계정 관리 |
/vim |
Vim 키바인딩 모드 토글 |
/terminal-setup |
터미널 환경 최적화 설정 |
3.3 개발 및 분석
| 명령어 | 설명 |
|---|---|
/context |
현재 컨텍스트 사용량을 색상 그리드로 시각화 📊 |
/cost |
토큰 사용 통계 및 현재 세션 비용 표시 💰 |
/review |
코드 검토 요청 |
/security-review |
보안 검토 수행 |
3.4 세션 관리 (중요!)
| 명령어 | 설명 |
|---|---|
/rewind |
이전 메시지 목록 보기 및 특정 지점으로 되돌리기 ⏪ |
/compact |
대화 이력 압축 (토큰 절약) |
/export |
대화를 파일로 내보내기 |
Claude Code 2.0의 핵심 신기능! 코드 변경 전 상태가 자동으로 저장되어, 실수해도 언제든 이전 상태로 돌아갈 수 있다.
사용법:
•
/rewind 명령어로 체크포인트 목록 확인• 또는
Esc 키를 2번 연속 누르면 즉시 되돌리기3.5 프로젝트 관리
| 명령어 | 설명 |
|---|---|
/init |
CLAUDE.md 가이드로 프로젝트 초기화 |
/memory |
CLAUDE.md 메모리 파일 편집 |
/mcp |
MCP 서버 연결 관리 |
/plugin |
플러그인 설치/활성화/비활성화 |
/hooks |
후크 구성 인터랙티브 메뉴 |
4. 키보드 단축키 및 팁
인터랙티브 모드에서 생산성을 높여주는 키보드 단축키들을 알아보자.
4.1 필수 단축키
| 단축키 | 기능 | 설명 |
|---|---|---|
Esc × 2 |
즉시 되돌리기 | Esc를 2번 연속 누르면 이전 체크포인트로 복구 |
Ctrl + C |
현재 작업 중단 | Claude의 현재 응답/작업을 즉시 중단 |
Ctrl + L |
화면 지우기 | 터미널 화면 정리 (대화 기록은 유지) |
Ctrl + D |
세션 종료 | 현재 Claude Code 세션 종료 (EOF 전송) |
↑ / ↓ |
히스토리 탐색 | 이전/다음 입력 프롬프트 탐색 |
Tab |
자동 완성 | 슬래시 명령어 및 파일 경로 자동 완성 |
4.2 입력 팁
| 입력 방식 | 방법 |
|---|---|
| 여러 줄 입력 | Shift + Enter 또는 \ (백슬래시) 후 Enter |
| 파일 첨부 | 파일을 터미널에 드래그 앤 드롭 |
| 이미지 첨부 | 이미지 파일 경로 또는 드래그 앤 드롭 |
| 빠른 파일 참조 | @파일경로 형식으로 파일 언급 |
Claude가 코드를 잘못 수정했을 때,
Esc를 2번 연속 누르면 즉시 이전 상태로 복구된다. /rewind보다 빠르고 직관적인 방법이다!5. 모델 선택
Claude Code는 다양한 모델을 지원한다. 작업의 복잡도와 비용에 따라 적절한 모델을 선택하자.
| 모델 | 특징 | 추천 용도 | 비용 |
|---|---|---|---|
| Haiku 3.5 | 가장 빠름, 저비용 | UI 스캐폴딩, 빠른 수정 | $ |
| Sonnet 4.5 ⭐ | 균형잡힌 선택 (기본값) | 일반 개발 작업 | $$ |
| Opus 4.5 | 가장 강력, 고비용 | 심층 분석, 복잡한 최적화 | $$$ |
• Claude Code는 Pro 플랜($20/월) 또는 Max 플랜($100/월) 구독으로 사용
• API 직접 사용 시 입력/출력 토큰별 별도 과금 (MTok 단위)
• 정확한 가격은 수시로 변동되므로 공식 가격 페이지 참고
claude --model haiku -p "간단한 타입 수정해줘"
claude --model sonnet -p "이 함수 리팩토링해줘"
claude --model opus -p "전체 아키텍처 보안 분석해줘"
/model # 대화형 메뉴가 표시됨
복잡한 작업에는 Plan 모드를 활용하자:
•
/plan 명령어로 계획 모드 시작• Claude가 먼저 실행 계획을 제시하고, 승인 후 구현 진행
• 대규모 리팩토링이나 새 기능 구현 시 실수를 줄일 수 있다
참고: Plan 모드는 사용 중인 모델 내에서 작동하며, 자동으로 모델을 전환하지 않는다. 필요에 따라
/model로 직접 변경하자.5.1 Extended Thinking (확장 사고)
Sonnet 4.5와 Opus 4.5는 Extended Thinking 기능을 지원한다. 복잡한 문제에서 Claude가 더 깊이 생각하게 해서 품질 높은 답변을 얻을 수 있다.
claude --model sonnet "복잡한 알고리즘 최적화해줘" --thinking
"이 문제를 깊이 생각해서 분석해줘"
"step by step으로 신중하게 검토해줘"
🧠 Extended Thinking이 유용한 경우
- 복잡한 아키텍처 설계: 시스템 전체를 고려한 설계가 필요할 때
- 버그 디버깅: 원인을 찾기 어려운 복잡한 버그
- 성능 최적화: 다양한 접근법을 비교 분석할 때
- 보안 리뷰: 잠재적 취약점을 꼼꼼히 검토할 때
6. 설정 파일 (settings.json, CLAUDE.md)
6.1 파일 구조
~/.claude/ # 글로벌 사용자 설정
├── CLAUDE.md # 전역 메모리/지침 파일
├── settings.json # 전역 설정 (모든 프로젝트)
├── settings.local.json # 개인 실험용 (git 무시)
└── commands/ # 사용자 커스텀 명령어
<project>/.claude/ # 프로젝트 특정 설정
├── CLAUDE.md # 프로젝트 메모리 파일
├── settings.json # 팀과 공유되는 설정
├── settings.local.json # 개인 설정 (git 무시)
└── commands/ # 프로젝트 커스텀 명령어
<project>/
└── .mcp.json # 프로젝트 MCP 설정 (버전 제어)
6.2 settings.json 주요 설정
{
// 기본 모델 설정
"defaultModel": "claude-sonnet-4-5-20250929",
// 권한 설정
"permissions": {
"allow": ["Read", "Edit"],
"deny": ["Bash"],
"defaultMode": "ask" // ask, acceptEdits, bypassPermissions, dontAsk
},
// 환경 변수
"env": {
"NODE_ENV": "development",
"API_KEY": "${MY_API_KEY}" // 시스템 환경변수 참조 가능
},
// Bash 도구 설정
"bash": {
"timeout": 30000,
"max_output": 50000
},
// 자동 컴팩션 설정
"autoCompact": true,
"compactThreshold": 0.95,
// 플러그인 활성화
"enabledPlugins": {
"document-skills@anthropic-agent-skills": true
}
}
6.3 CLAUDE.md 활용법
CLAUDE.md는 Claude에게 프로젝트 컨텍스트와 지침을 제공하는 메모리 파일이다.
# 프로젝트 지침
## 프로젝트 개요
React + TypeScript 기반의 e-commerce 플랫폼
## 코딩 규칙
- 함수형 컴포넌트와 Hooks 사용
- Styled-components 대신 Tailwind CSS 사용
- API 호출은 React Query 사용
## 중요 폴더 구조
- src/components: 재사용 가능한 컴포넌트
- src/features: 도메인별 기능 모듈
- src/hooks: 커스텀 훅
## 테스트 규칙
- Jest + React Testing Library 사용
- 커버리지 80% 이상 유지
설정 우선순위
- 엔터프라이즈 정책 (최상위)
- 명령줄 인수 (
--flag) - 로컬 프로젝트 설정 (
.claude/settings.local.json) - 공유 프로젝트 설정 (
.claude/settings.json) - 글로벌 사용자 설정 (
~/.claude/settings.json)
6.4 커스텀 슬래시 명령어 만들기
자주 사용하는 프롬프트를 커스텀 슬래시 명령어로 저장할 수 있다. Markdown 파일을 만들면 자동으로 슬래시 명령어로 등록된다.
.claude/commands/review.md → /project:review 로 호출
.claude/commands/test.md → /project:test 로 호출
~/.claude/commands/commit.md → /user:commit 로 호출
커스텀 명령어 예시: 코드 리뷰
이 코드를 리뷰해줘. 다음 관점에서 검토해줘:
1. **보안**: 잠재적 취약점이 있는지
2. **성능**: 불필요한 연산이나 최적화 가능한 부분
3. **가독성**: 변수명, 함수 구조, 주석 필요 여부
4. **테스트**: 테스트 커버리지 개선 제안
$ARGUMENTS
$ARGUMENTS는 슬래시 명령어 뒤에 입력한 텍스트로 치환된다.예:
/project:review src/api/ → $ARGUMENTS가 "src/api/"로 대체됨7. MCP (Model Context Protocol)
MCP는 외부 도구와 데이터 소스를 Claude Code에 연결하기 위한 오픈 소스 표준이다. 수백 개의 기존 MCP 서버에 접근할 수 있다.
7.1 MCP 서버 관리 명령어
claude mcp list
claude mcp add --transport http notion https://mcp.notion.com/mcp
claude mcp add --transport stdio airtable \
--env AIRTABLE_API_KEY=YOUR_KEY \
-- npx -y airtable-mcp-server
claude mcp add-json github '{"command":"npx","args":["-y","@modelcontextprotocol/server-github"]}'
claude mcp remove github
claude mcp get github
7.2 공식 MCP 서버
Anthropic에서 제공하는 공식 MCP 서버들이다.
| 서버 | 용도 |
|---|---|
server-github |
GitHub PR, 이슈, 저장소 관리 |
server-fetch |
URL에서 콘텐츠 가져오기 |
server-filesystem |
파일 및 디렉토리 작업 |
server-memory |
영속 지식 저장 |
7.3 커뮤니티 MCP 서버
커뮤니티에서 개발한 유용한 MCP 서버들이다. 사용 전 신뢰성을 확인하자.
| 서버 | 용도 |
|---|---|
Context7 |
실시간 라이브러리 문서 조회 |
Sequential thinking |
복잡한 작업 단계별 분해 |
8. 고급 기능
8.1 체크포인트 시스템 (Rewind)
Claude Code 2.0의 핵심 기능! 코드 변경 전 상태가 자동으로 저장되어 언제든 되돌릴 수 있다.
/rewind
Esc Esc → 즉시 이전 상태로 복구
8.2 플러그인 시스템
플러그인 시스템을 통해 Claude Code의 기능을 확장할 수 있다.
/plugin install document-skills@anthropic-agent-skills
/plugin enable document-skills
/plugin disable document-skills
/plugin list
8.3 후크 시스템 (Hooks)
특정 이벤트에 자동으로 스크립트를 실행할 수 있다.
| 후크 | 트리거 시점 |
|---|---|
PreToolUse |
도구 실행 전 |
PostToolUse |
도구 완료 후 |
Notification |
Claude 알림 시 |
Stop |
Claude 응답 완료 시 |
PermissionRequest |
도구 권한 자동 승인/거부 |
9. 비용 관리
9.1 비용 확인 명령어
/cost # 토큰 사용 통계 및 세션 비용 표시
/context # 색상 그리드로 사용량 표시
# 설치: npm install -g ccusage
ccusage --monthly # 월별 보고서
ccusage --session # 세션별 보고서
ccusage --live # 실시간 모니터링
ccusage는 커뮤니티에서 개발한 비공식 도구로, Claude Code의 토큰 사용량을 상세히 분석해준다. 공식 도구가 아니므로 사용 전 신뢰성을 확인하자.
9.2 비용 절감 전략
💰 비용 최적화 팁
- /compact: 대화 이력 압축으로 토큰 절약
- /clear: 새 작업 시작 시 대화 초기화
- --max-turns: 에이전트 턴 수 제한으로 비용 제어
- 작은 모델 활용: 간단한 작업엔 Haiku, 복잡한 분석엔 Opus
- 구체적 요청: 명확한 요청으로 불필요한 스캔 방지
| 사용 패턴 | 예상 비용 |
|---|---|
| 가벼운 사용 (개발) | $6-12/일 |
| 90% 사용자 | $12/일 이하 |
| 전문 사용 (API) | $100-200/개발자 |
10. 자동화 및 파이프라인
Unix 파이프라인과 결합하면 Claude Code를 강력한 자동화 도구로 활용할 수 있다.
10.1 배치 처리 스크립트
#!/bin/bash
for file in src/components/*.jsx; do
echo "Processing $file..."
claude --dangerously-skip-permissions -p \
"이 컴포넌트에 PropTypes 추가해줘. 코드만 출력" < "$file" > "${file}.new"
mv "${file}.new" "$file"
done
claude -p "React 함수형 컴포넌트 생성해줘. 코드만 간결하게 출력해줘, 설명은 생략해줘"
claude --dangerously-skip-permissions -p \
"성능 최적화해줘. Git diff처럼 + - 표시로 변경사항 보여줘" < slow_function.js
10.2 Git Pre-commit Hook 설정
커밋 전에 AI 코드 리뷰를 자동으로 수행할 수 있다.
1단계: .git/hooks/pre-commit 파일 생성
#!/bin/sh
# Git Pre-commit Hook with AI Code Review
echo "AI를 통해 코드 변경사항을 검토합니다..."
# 스테이징된 파일들의 변경사항을 가져옵니다
STAGED_DIFF=$(git diff --cached)
# 변경사항이 없으면 스크립트를 종료합니다
if [ -z "$STAGED_DIFF" ]; then
echo "검토할 코드 변경사항이 없습니다."
exit 0
fi
# AI에 코드 리뷰를 요청
AI_REVIEW=$(echo "$STAGED_DIFF" | claude -p "다음 코드 변경사항을 리뷰해줘.
만약 심각한 버그나 문제가 있다면 '문제 발견:' 이라는 말로 답변을 시작해줘.
그렇지 않으면 '검토 완료:'로 시작해줘.")
echo "AI 리뷰 결과:"
echo "$AI_REVIEW"
echo "------------------------------------"
# AI가 문제를 발견했다고 응답하면 커밋을 중단
if echo "$AI_REVIEW" | grep -q "문제 발견:"; then
echo "AI가 문제를 감지하여 커밋을 중단합니다."
exit 1
else
echo "AI 검토를 통과했습니다. 커밋을 진행합니다."
exit 0
fi
2단계: 실행 권한 부여
chmod +x .git/hooks/pre-commit
10.3 JSON 출력 활용
claude --output-format json -p "함수 분석해줘" < input.js | jq '.result'
claude --output-format stream-json -p "대용량 파일 처리" | \
while read -r line; do
echo "$line" | jq -c 'select(.type == "result")'
done
~/.bashrc 또는 ~/.zshrc에 추가:alias ccode="claude -p --dangerously-skip-permissions"alias creview="claude -p '코드 리뷰해줘'"alias cfix="claude --model haiku -p '이 버그 수정해줘'"11. 자주 묻는 질문 (FAQ)
-p 옵션은 일회성 실행을 위한 것이므로 대화 기록이 남지 않습니다. 연속적인 대화가 필요하면 일반 대화형 모드를 사용하세요. 단, -c 옵션으로 이전 세션을 재개할 수는 있습니다.• 로컬 개발 환경에서 반복 작업
• 완전히 제어된 CI/CD 파이프라인
• 프로덕션 환경에서는 절대 사용 금지
• Haiku 3.5: 빠른 수정, UI 스캐폴딩 (저비용)
• Sonnet 4.5: 일반 개발 작업 (기본값, 권장)
• Opus 4.5: 복잡한 아키텍처 분석, 보안 리뷰 (고비용)
•
/rewind 명령어로 체크포인트 목록 확인• 또는
Esc 키를 2번 연속 누르면 즉시 이전 상태로 복구코드와 대화 컨텍스트 모두 롤백됩니다.
•
/compact: 대화 이력 압축•
/clear: 새 작업 시작 시 초기화•
--max-turns 3: 에이전트 턴 수 제한• 구체적으로 요청: "src/utils 폴더만 분석해줘"
claude mcp list로 사용 가능한 서버를 확인하세요./context 명령어로 현재 사용량을 확인할 수 있습니다.•
/compact: 대화 이력 압축 (가장 효과적)•
/clear: 새 대화로 시작• 구체적 요청: "전체 프로젝트" 대신 "src/api 폴더만 분석해줘"
•
autoCompact: true 설정으로 자동 압축 활성화.claude/commands/ 폴더에 Markdown 파일을 만들면 됩니다. 예를 들어 .claude/commands/review.md를 만들면 /project:review로 호출할 수 있습니다. 글로벌 명령어는 ~/.claude/commands/에 저장합니다.📝 정리
- `-p` 옵션은 자동화의 핵심: 대화형 없이 바로 실행해서 스크립트 자동화에 필수
- 모델 선택이 중요: 작업 복잡도에 따라 Haiku/Sonnet/Opus 선택
- 슬래시 명령어 활용: /rewind, /compact, /cost 등으로 효율적 사용
- 설정 파일로 최적화: settings.json과 CLAUDE.md로 프로젝트별 맞춤 설정
- MCP로 확장: 외부 도구(GitHub, Notion 등)를 연결해 기능 확장
- 비용 관리: /cost와 /compact로 토큰 사용량 모니터링 및 최적화
'AI > Claude' 카테고리의 다른 글
당신이 좋아할만한 콘텐츠
-
Claude Code + SuperClaude 조합(2) : SuperClaude 사용 예시 (React 프로젝트 화면 버그 수정) 2025.08.12
-
Claude Code + SuperClaude 조합 : SuperClaude 설치 방법 (/sc: 커맨드로 개발 효율성 올리기) 2025.08.11
-
Claude Code CLI (1) - 기본 사용 방법 (클로드 코드 기초 - 기본 명령어 사용 방법) 2025.07.21
-
Claude Code 사용방법(설치방법) - Claude Code 시작하기 (Windows 환경[wsl 미사용] - 클로드 코드 사용방법(설치방법)) 2025.07.07
소중한 공감 감사합니다