topic★★★★★난이도 · 약 20분
터미널 기초 — 명령어로 컴퓨터와 대화하기
cd/ls/mkdir/rm, 경로 개념, 파이프(|), bash vs PowerShell.
#터미널#CLI#bash#PowerShell#명령어
왜 배우는가
Claude Code 자체가 터미널에서 실행되는 도구다. 터미널을 못 쓰면 Claude Code를 시작조차 할 수 없다. 마우스 클릭 대신 텍스트 명령어로 컴퓨터를 조종하는 법을 배운다.
터미널은 컴퓨터와 문자로 대화하는 창구다. GUI(그래픽 인터페이스)에서 폴더를 더블클릭하는 대신, `cd 폴더명`이라고 타이핑해서 이동한다. 왜 이렇게 불편한 걸 쓸까? 자동화와 정밀한 제어가 가능하기 때문이다.
| 명령어 | 뜻 | 예시 | 설명 |
|---|---|---|---|
| `cd` | Change Directory | `cd src/components` | 폴더 이동 |
| `ls` | List | `ls -la` | 현재 폴더의 파일 목록 |
| `mkdir` | Make Directory | `mkdir my-project` | 새 폴더 생성 |
| `rm` | Remove | `rm old-file.txt` | 파일 삭제 (휴지통 안 거침!) |
| `cat` | Concatenate | `cat README.md` | 파일 내용 출력 |
| `pwd` | Print Working Dir | `pwd` | 현재 위치 확인 |
bash
# 터미널 첫걸음 — 프로젝트 만들기
# 1. 현재 위치 확인
pwd
# 2. 프로젝트 폴더 생성
mkdir my-first-project
# 3. 폴더로 이동
cd my-first-project
# 4. 파일 생성
echo "Hello, World!" > hello.txt
# 5. 파일 내용 확인
cat hello.txt
# 6. 파일 목록 확인
ls -la이 6개 명령어만 알면 터미널에서 기본적인 파일 조작이 가능하다. Claude Code를 사용할 때도 이 명령어들이 수시로 등장한다.
파이프(`|`)는 한 명령어의 출력을 다른 명령어의 입력으로 연결하는 기호다. 레고 블록처럼 명령어를 조합할 수 있다. 예: `ls | grep ".ts"` → 파일 목록 중 `.ts`로 끝나는 것만 필터링.
bash
# 파이프(|)로 명령어 조합하기
# 파일 목록에서 .ts 파일만 찾기
ls -la | grep ".ts"
# 긴 출력에서 처음 10줄만 보기
git log --oneline | head -10
# 파일 개수 세기
ls src/components | wc -l
# 패턴 검색: 프로젝트에서 "TODO" 찾기
grep -r "TODO" src/파이프는 유닉스 철학의 핵심이다. 작은 도구를 조합해서 복잡한 작업을 수행한다. Claude Code도 내부적으로 이런 명령어 조합을 자주 사용한다.
| 항목 | Bash (Mac/Linux) | PowerShell (Windows) |
|---|---|---|
| 기본 셸 | bash / zsh | PowerShell |
| 파일 목록 | `ls` | `dir` 또는 `ls` |
| 경로 구분자 | `/` (슬래시) | `\` (역슬래시) |
| 환경 변수 | `export KEY=value` | `$env:KEY="value"` |
| Claude Code 권장 | bash | Git Bash 또는 WSL |
Windows에서 Claude Code를 쓸 때는 Git Bash 또는 WSL(Windows Subsystem for Linux)을 권장한다. PowerShell도 동작하지만, 대부분의 개발 가이드와 AI 답변이 bash 기준으로 작성되어 있어 bash가 훨씬 편하다.