5.Claude Code 입문 — 5. Bash 명령어 20개 정리 : cat은 고양이가 아니다
이 챕터 목차
Claude Code를 쓰다 보면 이런 대화가 벌어질 때가 있다.
Claude: "그럼 아래 명령을 실행하겠습니다."
cat error.log | grep "ERROR" | tail -20
나: "……고양이?"
이건 고양이가 아니다. cat은 파일 내용을 표시하는 명령어다.
Claude Code는 작업 중에 터미널 명령을 쓴다. 엔지니어가 아니어도, 이 명령이 "뭘 하고 있는지"를 대충 알아 두기만 하면 Claude가 뭘 하려는지 읽어 낼 수 있게 된다.
여기서는 Claude Code를 쓰면서 자주 나오는 명령어 20개를 직장인 눈높이에서 쉽게 해설한다.
먼저 "터미널"과 "Bash"가 뭔데?
터미널이란 컴퓨터에 문자로 명령을 보내는 까만 화면을 말한다. 마우스로 클릭하는 대신 문자를 쳐서 조작한다.
Bash는 그 터미널에서 PC에 명령하기 위한 "언어" 같은 것이다. Claude는 이 터미널을 통해 파일을 읽고 쓰거나 프로그램을 실행한다.
Claude Code의 터미널에서 !명령 이라고 치면 그 명령을 그 자리에서 실행할 수 있다(예: ! ls라고 치면 지금 있는 폴더의 파일 목록이 나온다).
파일·폴더 조작 계열
ls
지금 있는 폴더 안에 있는 파일·폴더 목록을 표시한다. "이 폴더, 뭐가 들었지?" 확인할 때 쓴다.
ls
ls -la
ls의 강화판. 숨김 파일(.env 등)도 포함한 상세 목록을 보여 준다. 파일 크기나 수정 일시도 나온다.
ls -la
cat 파일명
파일 내용을 그대로 표시한다. "고양이"가 아니라 "concatenate(연결하다)"의 줄임말이다.
Claude가 ! cat error.log를 실행할 때는 에러 로그의 내용을 읽고 있는 것이다.
cat settings.json
cd 경로
폴더를 이동한다. cd는 "change directory(디렉터리를 바꾼다)"의 줄임말이다.
cd ~/Projects/salescase
cd ..로 한 단계 위 폴더로 돌아간다. ~는 홈 폴더(사용자 폴더)를 가리킨다.
mkdir 폴더명
새 폴더를 만든다. mkdir은 "make directory"의 줄임말이다.
mkdir outputs
cp 원본파일 대상
파일을 복사한다. cp는 "copy"의 줄임말이다.
cp .env.example .env
.env.example(템플릿)을 .env(실제 설정 파일)로 복사하는 건 자주 쓰는 작업이다.
rm 파일명
파일을 삭제한다. ⚠️ 휴지통에 들어가지 않고 즉시 삭제되니 주의.
rm -rf 폴더명은 폴더째로 전부 삭제. 이게 나오면 뭘 지우려는 건지 반드시 확인한다.
텍스트 검색 계열
grep "문자열" 파일명
파일 안에서 특정 문자열을 포함한 줄을 찾아 보여 준다. 에러 로그에서 "ERROR" 줄만 뽑아내는 식으로 쓴다.
grep "ERROR" app.log
find . -name "*.py"
현재 폴더 아래에서 조건에 맞는 파일을 찾는다. "그 파일 어디 있지?" 할 때 유용하다. *.py는 Python 파일 전부라는 뜻이다.
find . -name "*.env"
프로그램 실행 계열
python3 스크립트명.py
Python으로 짠 프로그램을 실행한다. Claude가 스크립트를 만든 뒤 동작 확인을 위해 실행한다.
python3 scraper.py
pip install 패키지명
Python의 추가 기능(라이브러리)을 설치한다. "requests"(HTTP 통신)나 "pandas"(데이터 처리) 같은 걸 추가할 때 쓰는 명령이다.
pip install requests
npm install
Node.js(JavaScript 실행 환경)의 패키지를 한꺼번에 설치한다. Next.js 같은 웹 앱 셋업 때 맨 먼저 실행하는 것.
npm install
npm run dev
개발용 서버를 띄운다. 실행 후 브라우저에서 localhost:3000을 열면 앱이 표시된다.
npm run dev
Git(버전 관리) 계열
Git이란 코드의 변경 이력을 관리하는 도구다. "언제·누가·뭘 바꿨는지"를 기록한다.
git status
현재 변경된 파일 목록을 띄운다. "지금 뭐가 바뀌었지?" 확인.
git diff
파일의 변경 내용을 Before / After로 보여 준다. 커밋 전에 "뭘 바꿨는지" 확인할 때 쓴다.
git add .
변경한 파일을 전부 커밋 후보로 올린다. .은 "전부"를 뜻한다.
git commit -m "메시지"
변경을 기록한다(세이브 포인트를 만든다). 메시지에 "뭘 했는지"를 적는다.
git commit -m "add scraper for food factory list"
git push
로컬의 변경을 GitHub 등의 서버로 보낸다. Vercel이나 Netlify와 연동돼 있으면 push한 순간 운영 사이트에 반영된다.
포트·프로세스 확인 계열
lsof -i :3000
포트 3000을 쓰고 있는 프로세스를 확인한다. "앱이 안 켜진다" 할 때, 이미 다른 프로세스가 그 포트를 쓰고 있지 않은지 확인하려고 쓴다.
curl URL
URL에 HTTP 요청을 보내 응답(돌아오는 데이터)을 출력한다. API가 돌아가는지 확인하거나, 스크래핑 전에 페이지 내용을 확인할 때 쓴다.
curl https://api.example.com/status
명령어를 잘 몰라도 괜찮은 이유
Claude Code는 알아서 명령을 생각하고 실행한다. 명령을 직접 못 쳐도 "이 폴더 파일 목록 보여 줘"라고 한국어로 말하면 ls -la를 실행해 결과를 보여 준다.
다만 "지금 Claude가 뭘 하고 있는지"를 파악하는 데, 명령의 의미를 알고 있으면 마음 놓이는 정도가 전혀 다르다. 특히 rm 계열 삭제 명령이 나왔을 때 "이거 뭘 지우려는 거지?"라고 알아챌 수 있느냐는 중요하다.
완전히 외울 필요는 없다. "그 명령, 뭐였더라" 싶으면 이 장으로 돌아오면 된다.
©2024-2026 ClaudeCode.to, Hand-crafted & made with Jaewoo Kim.
이메일문의: jaewoo@claudecode.to
Koding 프로필: https://koding.kr/u/jaewoo.kim2019
Jaewoo Kim by AI-fluent liberal arts Engineer
#AI기업교육 #AI에이전트개발교육 #클로드코드기업교육 #클로드코드교육 #AX전환 #ClaudeCode교육 #AI #LLM #엔지니어 #개발자 #Claude #ClaudeCode
