앞 글 「Claude Code의 기초」에서 설치와 첫 대화까지 마쳤다면, 이제 손에 익혀야 할 조작법입니다. 이 글은 셸 명령과 슬래시 명령의 구분부터 세션 관리, 파일 지목, 중단과 승인, 단축키, 되돌리기까지 매일 쓰는 조작을 한 자리에 모았습니다. 읽고 나면 명령을 외우지 않고도 "어디서 무엇을 치면 되는지"가 정리되고, 다음 글 「파일 조작 배우기」에서 실제 파일 작업으로 넘어갈 수 있습니다.
핵심 요약
- 셸 명령은 Claude Code 바깥(터미널 프롬프트)에서, 슬래시 명령은 Claude Code 안(대화 입력창)에서 씁니다.
claude로 시작,Ctrl+D또는/exit로 종료,claude -c로 직전 대화 이어가기,claude -p "질문"으로 대화 없이 한 번만 실행합니다.@파일경로로 파일을 정확히 지목하고,Esc로 작업을 중단해 방향을 바꿉니다.- 승인 요청에서 "다시 묻지 않기"를 고르면 규칙으로 저장되므로 신중하게 고릅니다.
Esc두 번 또는/rewind로 코드와 대화를 이전 지점으로 되돌릴 수 있습니다.
셸 명령과 슬래시 명령은 무엇이 다른가
교재 1주차의 말을 빌리면 터미널은 "Claude Code를 불러내는 문"일 뿐입니다. 문 바깥에서 치는 것이 셸 명령이고, 문 안으로 들어간 뒤 치는 것이 슬래시 명령입니다.
| 구분 | 어디서 치나 | 예 | 하는 일 |
|---|---|---|---|
| 셸 명령 | 터미널 프롬프트($ 또는 PS C:\>) |
claude, claude -c, claude -p "…" |
Claude Code를 시작·재개하거나 한 번 실행하고 종료 |
| 슬래시 명령 | Claude Code 대화 입력창 | /clear, /help, /resume |
실행 중인 세션 안에서 설정·기록·컨텍스트를 다룸 |
헷갈릴 때 기준은 화면입니다. Claude Code 프롬프트가 떠 있으면 슬래시 명령, 일반 터미널 프롬프트가 보이면 셸 명령입니다.
세션 시작과 종료
세션은 프로젝트 폴더에 묶인 대화 한 묶음입니다. 항상 작업할 폴더로 이동한 뒤 켭니다.
cd ~/work/consult-report # macOS
cd C:\Users\내이름\work\consult-report # Windows
claude
claude "이 프로젝트 구조를 설명해 줘"처럼 따옴표 안에 첫 지시를 넘기며 시작할 수도 있습니다. 세션에 이름을 붙이려면 claude -n 상담일지로 시작하거나 세션 안에서 /rename 상담일지를 실행합니다.
종료는 Ctrl+D를 누르거나 /exit를 입력합니다. Ctrl+C는 실행 중인 작업을 멈추는 키인데, 아무것도 실행 중이 아닐 때 두 번 누르면 종료됩니다. 종료해도 대화는 로컬에 저장되므로 언제든 이어갈 수 있습니다.
대화 모드 없이 한 번만 실행하려면
-p 플래그(print 모드)를 붙이면 세션을 열지 않고 질문 하나를 처리한 뒤 종료합니다. 결과가 터미널에 그대로 출력되어 다른 명령과 파이프로 연결할 수 있습니다.
claude -p "이 폴더의 README를 세 줄로 요약해 줘"
cat error.log | claude -p "이 로그에서 원인이 될 만한 줄을 골라 설명해 줘"
원구연 강사의 일일 작업 보고서 자동화도 이 방식입니다. 매일 정해진 시각에 claude -p가 실행되어 그날 기록을 요약하고 노션에 올립니다. 단, 이 모드는 사람이 승인을 눌러 줄 수 없으므로 권한을 미리 정해 두어야 합니다. 그 설정은 코스 뒤쪽에서 다룹니다.
이전 대화를 이어가려면
공식 문서 기준으로 진입점은 다음과 같습니다.
| 명령 | 하는 일 |
|---|---|
claude -c 또는 claude --continue |
현재 폴더에서 가장 최근 세션을 이어감 |
claude -r 또는 claude --resume |
세션 선택기를 열어 목록에서 고름 |
claude --resume 상담일지 |
이름으로 특정 세션을 바로 재개 |
claude --from-pr 123 |
해당 풀 리퀘스트에 연결된 세션을 재개 |
/resume |
실행 중인 세션 안에서 다른 대화로 전환 |
claude -c는 세션이 없는 폴더에서 실행하면 "No conversation found to continue"를 출력하고 종료합니다. 여러 작업을 병행할 때는 이름을 붙여 두는 것이 가장 빠릅니다. 원본은 두고 다른 접근을 시도하려면 claude --continue --fork-session으로 사본을 만듭니다.
자주 쓰는 슬래시 명령
세션 안에서 /를 입력하면 사용 가능한 명령 목록이 뜨고, 글자를 이어 치면 필터링됩니다. 입문 단계에서 실제로 쓰게 되는 것만 추렸습니다.
/help: 도움말과 사용 가능한 명령을 표시합니다./clear: 빈 컨텍스트로 새 대화를 시작합니다./compact: 지금까지의 대화를 요약해 컨텍스트 공간을 확보합니다./compact API 변경 위주로처럼 초점을 줄 수 있습니다./resume: 다른 대화로 전환합니다./rename: 현재 세션에 이름을 붙입니다./init: 프로젝트를 분석해CLAUDE.md초안을 만듭니다./permissions: 도구 권한의 허용·요청·거부 규칙을 관리합니다./context: 현재 컨텍스트를 무엇이 차지하는지 보여 줍니다./rewind: 대화와 코드를 이전 지점으로 되돌립니다./diff: 커밋되지 않은 변경과 턴별 diff를 뷰어로 봅니다./exit: 종료합니다.
/clear 는 무엇을 지우나
/clear는 모델이 지금 보고 있는 대화 내용, 즉 컨텍스트를 비웁니다. 대화가 삭제되는 것은 아닙니다. 공식 문서에 따르면 이전 대화는 저장되어 /resume으로 재개할 수 있고, 같은 프로세스 안이라면 되돌리기 메뉴 맨 위의 "이전 세션" 항목으로 바로 돌아갈 수도 있습니다. 파일은 건드리지 않습니다.
공식 모범 사례는 관련 없는 작업 사이에 /clear를 자주 쓰라고 권합니다. 같은 문제를 두 번 이상 고쳐 달라고 했다면 컨텍스트가 실패한 접근으로 어지러워진 상태이므로, /clear 후 더 구체적인 지시로 새로 시작하는 편이 낫습니다. 우리 교육이 "한 세션은 한 작업"을 원칙으로 두는 이유입니다.
파일을 정확히 지목하려면
"아까 그 파일"이라고 말하는 대신 @ 뒤에 경로를 쓰면 자동 완성이 뜨고, 그 파일의 전체 내용이 대화에 포함됩니다.
@src/report.py 의 로직을 설명해 줘
@data/customers.csv 와 @docs/standard.md 를 비교해서 빠진 항목을 찾아 줘
@src/components 폴더 구조가 어떻게 되어 있어?
폴더를 지목하면 내용이 아니라 파일 목록이 들어갑니다. 교재 4주차의 고객 DB 표준 문서를 @로 붙이고 "이 표준에 맞는지 검토해 줘"라고 하면 표준을 다시 설명할 필요가 없습니다.
이미지는 Ctrl+V로 붙여넣습니다(iTerm2는 Cmd+V, Windows와 WSL은 Alt+V). 교재 1주차에서 "영어 화면이 나오면 캡처해서 붙여넣고 물어보라"고 한 것이 이 기능입니다.
작업을 중단하고 방향을 바꾸려면
Claude Code가 엉뚱한 방향으로 가고 있으면 끝나기를 기다릴 필요가 없습니다. Esc를 한 번 누르면 현재 응답이나 도구 호출이 즉시 멈추고, 지금까지 한 작업은 그대로 남습니다. 그 상태에서 수정 지시를 입력하면 됩니다. "정확하지 않아. 문제는 세션 처리 쪽이야"처럼 짧게 방향만 잡아 줘도 이어서 조정합니다.
멈추지 않고 수정 사항만 입력해 Enter를 눌러도 됩니다. 현재 작업이 끝나는 대로 읽고 다음 단계를 조정합니다. 권한 대화 상자가 열려 있을 때는 Esc가 대화 상자를 닫는다는 점만 기억해 두세요.
여러 줄로 지시를 쓰려면
교재 5주차의 황금 문장처럼 세 줄짜리 지시를 쓰려면 줄바꿈이 필요합니다. 방법은 터미널에 따라 다릅니다.
| 방법 | 키 | 동작 조건 |
|---|---|---|
| 빠른 이스케이프 | \ 입력 후 Enter |
모든 터미널 |
| 제어 시퀀스 | Ctrl+J |
모든 터미널, 설정 불필요 |
| Shift+Enter | Shift+Enter |
iTerm2, Apple Terminal, Windows Terminal, WezTerm, Ghostty, Kitty, Warp에서 기본 동작 |
| Option+Enter | Option+Enter |
macOS에서 Option을 Meta로 설정한 뒤 |
| 붙여넣기 | 여러 줄 텍스트를 그대로 붙여넣기 | 코드 블록, 로그에 적합 |
VS Code나 Cursor의 내장 터미널에서는 /terminal-setup을 한 번 실행해야 Shift+Enter가 됩니다. 가장 확실한 것은 어디서나 되는 Ctrl+J입니다.
승인 요청은 어떻게 다루나
Manual(설정값 default) 모드에서는 읽기 도구는 묻지 않고, 파일 수정과 Bash 명령은 승인을 요청합니다. 참고로 Pro·Max·Team 계정은 기본적으로 auto 모드로 시작해 분류기가 위험한 작업만 골라 묻습니다. 다만 ls, cat, grep, pwd처럼 읽기 전용으로 분류된 명령 집합은 묻지 않고 실행됩니다. 요청 화면에서는 이번만 허용, 다시 묻지 않기, 거부 중에서 고릅니다.
"다시 묻지 않기"의 효과는 대상에 따라 다릅니다. 공식 문서 기준으로 Bash 명령은 프로젝트 폴더와 해당 명령에 대해 영구 저장되고, 파일 수정은 세션이 끝날 때까지만 유지됩니다. 저장된 규칙은 /permissions에서 보고 지울 수 있습니다. git status && npm test처럼 복합 명령을 승인하면 승인이 필요한 하위 명령마다 규칙이 따로 저장됩니다.
낯선 명령은 승인 전에 무엇을 하는 명령인지 읽고 확인하는 습관을 들이세요. 실행 내역이 궁금하면 Ctrl+O로 트랜스크립트를 펼쳐 실제 실행된 명령과 출력을 볼 수 있습니다. 교재 3주차의 원칙대로, 클로드가 "마이그레이션 하겠습니다"라고 할 때가 가장 신중히 승인해야 하는 순간입니다.
키보드 단축키
공식 문서의 표에서 입문 단계에 필요한 것만 골랐습니다. 단축키는 터미널에 따라 조금씩 다를 수 있습니다.
| 키 | 동작 |
|---|---|
Esc |
현재 작업 중단 (작업은 보존) |
Esc Esc |
입력이 있으면 지우고, 비어 있으면 되돌리기 메뉴 열기 |
Ctrl+C |
작업 중단 또는 입력 지우기, 두 번 누르면 종료 |
Ctrl+D |
세션 종료 |
Shift+Tab |
권한 모드 순환 (default → acceptEdits → plan) |
Ctrl+R |
이전 프롬프트 역방향 검색 |
↑ ↓ |
입력 기록 탐색 |
Ctrl+O |
도구 사용 상세가 보이는 트랜스크립트 뷰어 토글 |
Ctrl+B |
실행 중인 Bash 명령을 백그라운드로 보내기 |
Ctrl+V |
클립보드 이미지 붙여넣기 |
Ctrl+G |
프롬프트나 계획을 기본 텍스트 편집기에서 열기 |
입력창 접두사도 단축키 역할을 합니다. /는 명령, @는 파일 지목, !는 셸 모드입니다. ! git status처럼 치면 Claude를 거치지 않고 명령이 바로 실행되고 출력이 대화에 들어갑니다.
명령어 일람표
| 종류 | 명령 | 설명 |
|---|---|---|
| 셸 | claude |
대화형 세션 시작 |
| 셸 | claude "질문" |
첫 프롬프트를 넘기며 세션 시작 |
| 셸 | claude -p "질문" |
한 번 실행하고 종료 |
| 셸 | claude -c |
현재 폴더의 최근 세션 이어가기 |
| 셸 | claude -r |
세션 선택기 열기 |
| 셸 | claude -n 이름 |
이름을 붙여 세션 시작 |
| 셸 | claude --permission-mode plan |
계획 모드로 시작 |
| 셸 | claude update |
최신 버전으로 업데이트 |
| 슬래시 | /help /clear /compact |
도움말, 새 대화, 대화 요약 |
| 슬래시 | /resume /rename |
세션 전환, 이름 지정 |
| 슬래시 | /init /memory |
CLAUDE.md 생성, 편집 |
| 슬래시 | /model /permissions /config |
모델, 권한, 설정 |
| 슬래시 | /context /usage |
컨텍스트 사용량, 사용량 통계 |
| 슬래시 | /rewind /diff |
되돌리기, 변경 사항 보기 |
| 슬래시 | /exit |
종료 |
작업 이력 되돌리기
Claude Code는 사용자 프롬프트마다 코드 상태를 자동으로 스냅샷합니다. 공식 문서 기준으로 세션당 최근 100개 체크포인트를 유지하고, 세션과 함께 30일 뒤 정리됩니다(설정으로 변경 가능).
입력창이 빈 상태에서 Esc를 두 번 누르거나 /rewind를 실행하면 지금까지 보낸 프롬프트 목록이 나옵니다. 지점을 고른 뒤 다음 중 하나를 선택합니다.
- 코드와 대화 복원: 둘 다 그 지점으로 되돌립니다.
- 대화만 복원: 파일은 그대로 두고 대화만 되돌립니다.
- 코드만 복원: 대화는 유지하고 파일 변경만 되돌립니다.
- 여기서부터 요약, 여기까지 요약: 파일은 건드리지 않고 대화 일부를 요약으로 압축합니다.
한계가 있습니다. Claude의 편집 도구로 바꾼 것만 추적하므로 rm, mv 같은 Bash 명령으로 바뀐 파일과 바깥에서 직접 고친 파일은 되돌릴 수 없습니다. 체크포인트는 "세션용 실행 취소"이고 영구 기록은 Git입니다. 교재 3주차부터 "한 단락 끝날 때마다 커밋하고 푸시해 줘"를 습관으로 삼는 이유입니다.
연습 문제
- 작업 폴더에서
claude -n 연습으로 세션을 시작하고,/rename으로 이름을 바꾼 뒤 종료했다가claude --resume목록에서 찾아 재개해 보세요. claude -p "이 폴더의 파일 목록을 종류별로 세어 줘"를 실행하고, 같은 질문을 대화형 세션에서 했을 때와 무엇이 다른지 적어 보세요.- 파일 하나를
@로 지목해 요약을 시킨 뒤, 응답 도중Esc로 멈추고 "세 줄로만"이라고 방향을 바꿔 보세요. - 파일 하나를 고치게 한 뒤
/rewind에서 "코드만 복원"을 골라 원래대로 돌아오는지 확인하세요.
정리
- 셸 명령은 문 밖(터미널), 슬래시 명령은 문 안(세션)에서 씁니다. 화면의 프롬프트를 보고 구분합니다.
- 시작·재개·한 번 실행의 세 가지 셸 명령(
claude,claude -c,claude -p)이면 입문 단계는 충분합니다. @로 파일을 지목하고Esc로 멈추고Ctrl+J로 줄을 바꿉니다.- 승인은 관문입니다. "다시 묻지 않기"는 규칙으로 남으므로 명령이 무엇을 하는지 읽고 고릅니다.
- 되돌리기는 체크포인트, 영구 기록은 Git. 둘을 함께 씁니다.
자주 묻는 질문
셸 명령과 슬래시 명령은 어떻게 다른가요?
셸 명령(claude, claude -c, claude -p)은 터미널 프롬프트에서 Claude Code를 시작하거나 재개할 때 씁니다. 슬래시 명령(/clear, /help, /resume)은 이미 실행 중인 세션 안에서 설정과 기록을 다룰 때 씁니다. Claude Code 프롬프트가 떠 있으면 슬래시, 아니면 셸이라고 기억하면 됩니다.
claude -c 와 claude -r 의 차이는 무엇인가요?
claude -c(--continue)는 현재 폴더의 가장 최근 세션을 묻지 않고 바로 이어갑니다. claude -r(--resume)은 세션 목록을 띄워 고르게 하고, 이름을 붙여 두었다면 claude --resume 이름으로 바로 재개할 수 있습니다. 직전 작업을 이어갈 때는 -c, 여러 작업 중 하나를 골라야 할 때는 -r입니다.
/clear 를 하면 이전 대화가 완전히 사라지나요?
아닙니다. 현재 세션의 컨텍스트가 비워질 뿐, 이전 대화는 로컬에 저장되어 /resume으로 다시 열 수 있습니다. 같은 프로세스 안이라면 되돌리기 메뉴 맨 위의 이전 세션 항목으로도 돌아갈 수 있습니다. 파일은 전혀 건드리지 않습니다.
작업 도중에 멈추고 방향을 바꾸려면 어떻게 하나요?
Esc를 한 번 누르면 현재 응답과 도구 호출이 즉시 멈추고 지금까지의 작업은 남습니다. 그 자리에서 수정 지시를 입력하면 이어서 조정합니다. 이미 만든 변경까지 물리고 싶다면 Esc를 두 번 눌러 되돌리기 메뉴에서 코드나 대화를 이전 지점으로 복원합니다.
승인 요청에서 '항상'을 골라도 되나요?
npm test나 git status처럼 안전하다고 아는 명령에는 골라도 됩니다. Bash 명령의 "다시 묻지 않기"는 프로젝트 폴더 단위로 영구 저장되므로, 삭제나 외부 전송이 섞인 명령에는 고르지 않는 것이 좋습니다. 저장된 규칙은 /permissions에서 언제든 확인하고 지울 수 있습니다.