CLI
한 줄 정의
그림이나 버튼 대신 글자로 컴퓨터에게 명령을 내리는 방식
1. 비유로 이해하기
식당에서 주문하는 방법은 두 가지다.
- 메뉴판을 보고 손가락으로 가리키기 → 그림과 버튼을 누르는 방식 (GUI)
- “김치찌개 하나, 밥은 곱빼기로, 덜 맵게”라고 말로 주문하기 → 글자로 명령하는 방식 (CLI)
손가락으로 가리키는 건 쉽다. 배울 게 없다. 대신 메뉴판에 없는 건 시킬 수 없다.
말로 주문하면 “밥 곱빼기, 계란 추가, 덜 맵게”까지 한 번에 정확히 전달된다. 배우기는 어렵지만 훨씬 세밀하고 빠르게 시킬 수 있다. CLI가 딱 그렇다.
2. 왜 필요한가
명령은 문장처럼 생겼다
검은 화면의 명령어가 암호처럼 보이는 이유는, 그게 문장이라는 걸 모르기 때문이다. 구조를 알면 읽힌다.
pip install langchain --upgrade
↑ ↑ ↑ ↑
명령 하위명령 인자 옵션
- 명령 — 누구에게 시킬 것인가 (
pip이라는 도구에게) - 하위명령 — 무엇을 할 것인가 (설치해라)
- 인자 — 대상이 무엇인가 (langchain을)
- 옵션 — 어떻게 할 것인가 (최신 버전으로). 보통
-나--로 시작한다
한 번 이 구조가 보이면 처음 보는 명령어도 뼈대는 읽힌다.
npm install -g @anthropic-ai/claude-code
# npm(도구)에게 / 설치하라고 / 전역(-g)으로 / claude-code를
git commit -m "첫 글 작성"
# git에게 / 기록하라고 / 메시지(-m)를 붙여서
에이전트를 쓰는 창구
Claude Code, Gemini CLI, Aider 같은 도구는 CLI로 동작한다. 터미널에 claude라고 치면 에이전트가 켜지고, 대화하면서 코드를 고쳐 준다.
왜 하필 터미널일까. 에이전트가 파일을 읽고 쓰고 명령어를 실행해야 하는데, 터미널이 그 모든 일이 실제로 벌어지는 현장이기 때문이다.
에이전트가 쥘 수 있는 가장 강력한 도구
에이전트에게 주는 도구 중 가장 센 것이 bash 같은 명령 실행 도구다. 도구를 하나하나 만들어 주지 않아도, 명령을 실행할 수만 있으면 파일 찾기·설치하기·테스트 돌리기를 전부 할 수 있다. 만능 도구인 셈이다.
그만큼 위험하다. 그래서 보통 격리된 환경에서, 최고 권한이 아닌 제한된 계정으로 실행하고, 되돌릴 수 없는 명령 앞에는 확인 절차를 세운다.
생각보다 가볍다
같은 일을 MCP 서버로도, CLI 명령으로도 할 수 있다. 수업에서 들은 사례로는 어떤 벤치마크에서 CLI가 약 1천 토큰, MCP가 약 4만 토큰을 썼다고 한다. MCP는 연결해 두는 것만으로 도구 설명서를 통째로 읽어 두기 때문이다.
그래서 GitHub 작업이라면 MCP 서버를 세우는 대신 gh 명령을 시키는 쪽이 가벼울 때가 많다. 혼자 작은 걸 만들 때는 CLI, 여럿이 쓰고 권한과 기록을 챙겨야 하면 MCP 정도가 기준이 된다.
3. 어디서 만났나
2회차에서 처음 만났다. 바이브 코딩 작업대를 세우던 날, PowerShell로 Node.js와 npm을 설치했다. 그런데 PowerShell 문법을 몰라서 명령을 직접 치지 못하고 Claude Code에 한글로 요청했고, 실행된 명령을 나중에 한 줄씩 되짚어 읽었다. 위의 “명령은 문장처럼 생겼다”가 그때 막혔던 바로 그 지점이다.
2회차 — Git·GitHub 복습과 바이브 코딩 작업대 만들기
7회차에서 다시 나왔다. 이번에는 “어떻게 쓰는가”가 아니라 “MCP로 할까 CLI로 할까”를 고르는 기준으로 등장했다.
7회차 — 에이전트, MCP, 스킬 — 범용 AI를 내 전용 조수로
4. 헷갈리는 개념
| 이 용어 | 비슷하지만 다른 것 | 차이 |
|---|---|---|
| CLI | GUI | CLI의 반대말. 버튼과 아이콘을 클릭하는 방식(Graphical User Interface) |
| CLI | 터미널 | 터미널은 명령을 입력하는 검은 창 자체. CLI는 그 창에서 쓰는 방식 |
| CLI | 셸(Shell) | 셸은 입력한 명령을 해석해 실행해 주는 프로그램. bash, zsh, PowerShell이 전부 셸이다 |
| CLI | PowerShell | PowerShell은 셸 중 하나. 윈도우의 기본 셸이다. “PowerShell을 쓴다”는 “CLI 방식으로 일한다”의 한 사례 |
| CLI | API | CLI는 사람이 글자로 명령하는 창구. API는 프로그램끼리 주고받는 창구 |
5. 많이들 오해하는 지점
ㄱ. “터미널·셸·CLI가 다 같은 말”
셋이 섞여 쓰이니 그럴 만하다. 하지만 층이 다르다.
┌─ 터미널 ────────────── 검은 창 (그릇)
│ ┌─ 셸 ─────────────── 명령을 해석하는 프로그램 (PowerShell, bash)
│ │ CLI ─────────── 글자로 명령한다는 방식 그 자체
창 안에서 프로그램이 글자 방식으로 동작한다. 그래서 “PowerShell 창을 열어 CLI로 작업한다”가 정확한 문장이다.
ㄴ. “검은 화면은 해커나 개발자가 쓰는 것”
더 어려운 도구가 아니라 더 정확한 주문 방식이다. 식당 비유로 돌아가면, 말로 주문하는 게 특별한 사람만 하는 일은 아니다. 다만 뭐라고 말해야 하는지 알아야 할 뿐이다.
ㄷ. “CLI는 옛날 방식이고 GUI가 그다음 세대다”
시간 순서로는 CLI가 먼저 나왔지만, 대체된 게 아니라 둘은 지금도 나란히 있다. 오히려 AI 에이전트가 나오면서 CLI의 비중이 다시 커졌다. 이유는 단순하다. AI는 마우스로 버튼을 클릭하지는 못해도, 명령어는 칠 수 있기 때문이다.