본문으로 건너뛰기
CodeBerry
  1. Claude 가이드/
#claude-guide · [Claude 가이드]

Claude 가이드 #19: Bash 도구 — Claude에게 컴퓨터 명령어 손을 빌려주기

Claude 가이드 - 이 글은 시리즈의 일부입니다.
부분 : 이 글

이 글은 Claude API 공식 문서의 Bash Tool 페이지를 정리한 글입니다. 원문: https://platform.claude.com/docs/en/agents-and-tools/tool-use/bash-tool 마지막 확인: 2026-05-29


1. 한 줄 요약
#

Claude에게 컴퓨터 명령어를 직접 실행할 수 있는 “손"을 빌려줘서, 파일을 정리하거나 프로그램을 돌리는 일을 대신 시킬 수 있습니다.


2. 무엇이고 왜 좋을까
#

Bash 도구는 Claude에게 컴퓨터 키보드를 잠깐 맡기는 것과 같습니다. 평소엔 Claude가 “이런 명령어 치시면 됩니다"라고 알려주기만 했다면, Bash 도구를 켜면 Claude가 직접 그 명령어를 쳐서 결과까지 가져옵니다.

여기서 Bash(배시)는 컴퓨터의 명령줄 창에 글자로 명령을 내리는 방식이에요. 윈도우의 명령 프롬프트, 맥의 터미널을 떠올리시면 됩니다. “현재 폴더에 파일 몇 개 있어?” 같은 질문에 Claude가 직접 폴더를 열어보고 답해주는 거죠.

이 도구의 또 다른 매력은 세션이 이어진다는 점입니다. 한 번 “내 작업 폴더로 가자"라고 시켜두면, 다음 명령부터는 그 폴더에서 계속 작업합니다. 단골 식당이 매번 자리를 찾지 않아도 되는 것과 같습니다. 비용은 호출 한 번에 약 245 토큰만 추가되어 부담이 적습니다.


3. 이런 상황에서 써요
#

상황 1: 학생 — 다운로드 폴더에 쌓인 강의자료 정리
#

“학기말이 다가오니 다운로드 폴더에 PDF가 200개 넘게 쌓였어요. 과목별로 폴더를 만들어서 옮기고 싶은데, 하나하나 드래그하기엔 너무 많습니다.”

이런 상황에서 Claude에게 Bash 도구를 켜주고 “다운로드 폴더에 있는 파일 목록을 보여주고, 파일 이름에서 과목명을 찾아 폴더를 만들어서 옮겨줘"라고 부탁하면 됩니다. Claude는 폴더를 둘러보고, 이름 규칙을 파악하고, 차근차근 정리를 해냅니다.

상황 2: 직장인 — 회사 보고서 폴더에서 특정 단어 찾기
#

“부서 공용 폴더에 작년 보고서 100개 정도가 있는데, 그중에 ‘신제품 출시’ 얘기가 나온 보고서만 골라보고 싶어요. 하나씩 열어보긴 너무 힘들고요.”

Claude에게 “이 폴더 안의 모든 문서를 훑어서 ‘신제품 출시’라는 단어가 들어간 파일만 알려줘"라고 시키면, 명령어 한두 줄로 전체 폴더를 검색해서 후보를 추려줍니다. 사람이 일주일 걸릴 일이 몇 분 안에 끝납니다.

상황 3: 일반인 — 사진 폴더 백업 만들기
#

“여행 사진을 외장 하드에 한 번 더 백업해두고 싶은데, 어떻게 압축해야 할지 모르겠어요.”

Bash 도구가 켜진 Claude에게 “사진 폴더를 압축해서 백업 파일을 만들어줘"라고 부탁하면 됩니다. Claude가 압축 명령을 직접 실행하고, “완료했습니다. 파일 크기는 12GB입니다"라고 결과까지 보여줍니다.


4. 가볍게 시작하기
#

💻 개발 경험이 있으신가요? 아래 코드는 Python 기준 가장 짧은 예시입니다. 비개발자라면 “이런 식으로 쓰는구나” 정도로 보고 넘어가셔도 좋습니다.

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    # 이 한 줄이 Bash 도구를 켜는 핵심
    tools=[{"type": "bash_20250124", "name": "bash"}],
    messages=[
        {"role": "user", "content": "현재 폴더에 있는 파이썬 파일을 모두 보여줘."}
    ],
)
print(response)

가운데 tools=[...] 한 줄이 Claude에게 “이번엔 Bash 도구를 써도 돼"라고 허락하는 부분입니다. 그러면 Claude는 사용자 질문을 보고 ls *.py 같은 명령어를 떠올려서 실행 요청을 보냅니다. 실제로 명령을 실행하고 결과를 다시 Claude에게 돌려주는 건 우리 쪽 프로그램이 맡습니다. 즉 Claude는 “이걸 실행하고 싶어요"라고 말하고, 우리가 “결과는 이래요"라고 답해주는 핑퐁이에요.


5. 흔한 오해와 함정
#

⚠️ 함정 1: “Claude가 직접 명령을 실행하나요?”
#

아니에요. Claude는 “이 명령어를 실행해주세요"라고 요청만 보냅니다. 진짜로 그 명령을 컴퓨터에 입력하는 건 우리가 만든 프로그램(또는 사용 중인 도구)이에요. 그래서 Claude가 위험한 명령을 보내도, 우리가 차단하면 실행되지 않습니다. 운전대는 결국 우리 손에 있다고 생각하시면 됩니다.

⚠️ 함정 2: “한 번 켜두면 vim 같은 편집기도 쓸 수 있겠죠?”
#

여기엔 작은 한계가 있어요. Bash 도구는 사용자와 실시간으로 대화하는 프로그램(vim, less, 비밀번호 입력창 등)은 다루지 못합니다. 한 번 명령을 보내면 결과가 끝까지 나올 때까지 기다리는 방식이라서, 중간에 키를 누르라고 요구하는 프로그램과는 잘 안 맞아요. 이런 일은 사람이 직접 하는 게 빠릅니다.

⚠️ 함정 3: “내 컴퓨터에 바로 연결해도 괜찮을까요?”
#

여기는 주의가 필요합니다. Bash 도구는 컴퓨터에 진짜 명령을 내릴 수 있기 때문에, 잘못 쓰면 중요한 파일을 지울 수도 있어요. 그래서 처음 써보실 땐 빈 폴더에서 연습하거나, 가능하면 격리된 환경(예: 가상 머신, 도커 컨테이너)에서 돌려보시는 게 안전합니다. “이 명령은 허락된 목록에만 있을 때 실행한다"는 식의 안전장치를 두는 것도 좋습니다.


6. 한 단계 더 (관심 있는 분만)
#

🎯 여기까지 오신 분 환영합니다. 이 섹션은 더 깊이 알고 싶은 분을 위한 보너스입니다. 본문만 읽으셔도 충분합니다.

조금 더 안전하게 쓰고 싶다면 허용 목록(allowlist) 방식을 추천합니다. “이 명령들만 실행해줘"라고 미리 정해두는 거예요. 위험할 수 있는 명령은 아예 통과시키지 않는 방식이라, “나쁜 명령 목록을 차단"하는 것보다 훨씬 든든합니다.

import shlex

# 안전하다고 판단한 명령만 허용
ALLOWED = {"ls", "cat", "echo", "pwd", "grep", "find", "wc", "head", "tail"}

def is_safe(command: str) -> bool:
    tokens = shlex.split(command)
    if not tokens:
        return False
    # 첫 단어(실제 실행되는 명령)가 허용 목록에 있어야 통과
    return tokens[0] in ALLOWED

shlex.split은 명령 문자열을 단어 단위로 잘라주는 도구입니다. 그중 첫 단어가 실제로 실행되는 명령이니, 그것만 허용 목록에 있는지 확인하는 거예요. 이렇게 막아두면 Claude가 실수로 rm -rf 같은 명령을 제안해도 우리 쪽에서 거절할 수 있습니다.

또 알아두면 좋은 점 하나 — Bash 도구와 코드 실행 도구(자매 가이드에서 다룹니다)는 서로 다른 공간에서 돕니다. Bash 도구는 내 컴퓨터에서, 코드 실행 도구는 Anthropic이 제공하는 격리된 공간에서 돌아가요. 두 도구를 함께 쓰면 Claude에게 “이건 내 컴퓨터에서 해, 저건 격리된 곳에서 해"라고 구분해서 시킬 수 있습니다.


7. 한 마디
#

Bash 도구는 처음 들었을 땐 “내 컴퓨터에 AI가 명령을? 무섭다…“라고 느끼실 수 있어요. 하지만 실제로는 Claude가 명령을 제안할 뿐, 실행은 우리가 통제합니다. 빈 폴더에서 가벼운 명령부터 한 번씩 해보시면 금방 친숙해지실 거예요.

만약 잘 안 된다면 함정 1~3 중 하나일 가능성이 큽니다. 특히 vim처럼 대화형 편집기를 시도하셨거나, 허용 목록 없이 너무 넓게 열어두셨다면 위 항목을 다시 살펴봐주세요.

다음 시리즈에서는 #20 — 컴퓨터 사용(Computer Use) 도구를 다룰 예정입니다. Bash 도구가 글자 명령에 손을 빌려준다면, 컴퓨터 사용 도구는 마우스 클릭과 화면 보기까지 맡길 수 있는 더 큰 손이에요. 한 걸음씩, 천천히 함께 가봅시다.


Claude API 공식 문서를 한국어로 풀어쓴 시리즈입니다. 원문 정확성이 가장 우선, 의역과 친근함은 그 위에서.

— 키스 드림

성경재
작성자
성경재
홈랩, 셀프호스팅, AI/ML, 데이터 분석에 관심이 많습니다.
Claude 가이드 - 이 글은 시리즈의 일부입니다.
부분 : 이 글