CLI가 무엇일까? Command Line Interface 사용법
바탕화면의 아이콘을 더블클릭해 프로그램을 열고, 폴더를 드래그 앤 드롭해서 파일을 옮긴다. 이렇게 시각적인 그래픽을 통해 컴퓨터와 소통하는 방식을 GUI(Graphic User Interface)라고 부른다.
그런데 영화나 드라마를 보면 해커나 개발자들은 꼭 검은색 화면에 초록색 글씨만 가득한 창을 띄워놓고 키보드를 두드린다. 마우스는 쳐다보지도 않는다. 그들이 쓰고 있는 그 정체불명의 검은 창이 바로 CLI(Command Line Interface)다.

CLI란? 말로 하면 알아듣는 컴퓨터
CLI는 직역하면 ‘명령 줄 인터페이스’다. 쉽게 말해, 마우스 대신 ‘글자(명령어)‘를 입력해서 컴퓨터를 제어하는 방식을 뜻한다.
GUI가 “이 폴더를 저 폴더로 마우스로 끌어서 옮겨줘”라면, CLI는 컴퓨터에게 문장으로 명령을 내리는 것이다.
mv photo.jpg /Desktop/Memories/(해석: photo.jpg 파일을 바탕화면의 Memories 폴더로 이동(move)시켜라.)
컴퓨터가 처음 발명되었을 때는 마우스라는 개념이 없었기 때문에 모든 컴퓨터 제어는 이 CLI 방식을 사용했다. 과거의 MS-DOS가 대표적이며, 현재 Mac의 터미널이나 Windows의 명령 프롬프트, PowerShell이 CLI 환경을 제공하는 프로그램들이다.
굳이 왜 쓸까? CLI의 장점
마우스로 클릭하는 게 훨씬 편한데, 개발자들은 왜 아직도 이 구식 같아 보이는 CLI를 고집할까? 이유는 명확하다. 훨씬 강력하고 효율적이기 때문이다.
-
속도와 효율성
수백 개의 파일 이름을 한 번에 바꿔야 한다고 가정해 보자. GUI에서는 파일을 일일이 클릭하고 수정해야 하지만, CLI에서는 명령어 한 줄이면 몇 초 만에 끝난다. 숙련된 사용자에게는 키보드 타이핑이 마우스 조작보다 훨씬 빠르다.
-
컴퓨터 자원(메모리) 절약
GUI는 화면에 예쁜 아이콘을 띄우고 그래픽을 불러오는 데 많은 에너지를 소모한다. 반면 CLI는 오직 텍스트만 처리하기 때문에 메모리를 거의 차지하지 않는다. 24시간 내내 돌아가야 하는 서버 컴퓨터에서 CLI를 필수로 쓰는 이유다.
-
자동화의 편리함
명령어들을 순서대로 적어둔 파일(스크립트)을 만들면, 매일 반복해야 하는 귀찮은 작업들을 컴퓨터가 알아서 자동으로 실행하게 만들 수 있다.
GUI vs CLI 한눈에 비교하기
| 특징 | GUI (Graphic User Interface) | CLI (Command Line Interface) |
|---|---|---|
| 조작 방식 | 마우스 클릭, 드래그 앤 드롭 | 키보드 텍스트 입력 (명령어) |
| 직관성 | 높음 (누구나 쉽게 배움) | 낮음 (명령어를 외워야 함) |
| 작업 속도 | 단순 작업은 빠르나 대량 작업은 느림 | 숙련될수록 대량/반복 작업이 압도적으로 빠름 |
| 자원 소모 | 그래픽 처리로 인해 리소스 소모가 큼 | 텍스트만 처리하여 리소스 소모가 극도로 적음 |
직접 해보며 익히는 CLI 기초 실습 가이드
까만 창에 명령어를 입력하는 게 처음에는 두렵게 느껴질 수 있다. 하지만 컴퓨터가 고장 나지 않으니 안심해도 된다. CLI로 가장 많이 쓰는 기본적인 파일 조작 4가지 단계를 직접 따라 해보자.
1. 터미널 실행하기
우선 명령어를 입력할 창을 열어야 한다.
-
Windows: 시작 메뉴에서
cmd를 검색해 명령 프롬프트를 실행하거나,PowerShell을 실행한다. -
Mac:
Command + Space를 눌러 Spotlight를 켠 뒤,Terminal을 검색해 실행한다.
2. 현재 위치 확인 및 이동
마우스로 폴더를 더블클릭해 들어가는 과정을 CLI에서는 명령어로 수행한다.
-
현재 위치 확인하기
터미널을 열면 가장 먼저 내가 컴퓨터의 어느 디렉토리(폴더)에 위치해 있는지 알아야 한다.
-
입력:
pwd(Mac) 또는cd(Windows) -
결과: 현재 내 위치의 경로가 화면에 출력된다.
-
-
현재 위치의 파일 목록 보기
이 폴더 안에 어떤 파일과 폴더들이 있는지 확인해 보자.
-
입력:
ls(Mac) 또는dir(Windows) -
결과: 현재 폴더 내의 모든 파일 리스트가 나타난다.

-
-
바탕화면으로 이동하기
우리가 눈으로 확인하기 쉽게 바탕화면(Desktop) 폴더로 이동해 보자.
-
입력:
cd Desktop(또는cd 바탕화면) -
팁:
cd는 Change Directory의 약자다. 폴더를 바꾼다는 뜻이다.
-
3. 폴더와 파일 만들어보기
이제 바탕화면 위에 새로운 폴더를 만들고 그 안에 텍스트 파일을 생성해 보자.
-
새로운 폴더 만들기
바탕화면에
cli-test라는 이름의 폴더를 만든다.-
입력:
mkdir cli-test -
팁: Make Directory의 약자다. 입력 후 바탕화면을 보면 실제로 폴더가 생겨난 것을 볼 수 있다.
-
-
만든 폴더 안으로 들어가기
방금 만든 폴더 내부로 이동한다.
- 입력:
cd cli-test
- 입력:
-
비어있는 텍스트 파일 만들기
폴더 안에
hello.txt라는 파일을 생성해 보자.-
입력 (Mac):
touch hello.txt -
입력 (Windows):
echo . > hello.txt
-
4. 파일 복사하고 이름 바꾸기
이번에는 생성한 파일을 복사하고 이름을 변경하는 제어를 해보자.
-
파일 복사하기
hello.txt를 복사해서hello-copy.txt라는 파일을 만든다.-
입력 (Mac):
cp hello.txt hello-copy.txt -
입력 (Windows):
copy hello.txt hello-copy.txtTIP
cp는 Copy의 약자다.
[원본파일] [복사할파일이름]순으로 적어주면 된다.
-
-
파일 이름 바꾸기 (또는 이동하기)
복사한
hello-copy.txt파일의 이름을bye.txt로 변경해 보자.-
입력 (Mac):
mv hello-copy.txt bye.txt -
입력 (Windows):
ren hello-copy.txt bye.txtTIP
Mac에서 사용하는
mv는 Move의 약자다. 파일을 다른 폴더로 이동할 때도 쓰이지만, 같은 폴더 안에서 이름을 바꿀 때도 쓰인다.
-
5. 깔끔하게 삭제하기 (주의!)
마지막으로 실습을 위해 만들었던 파일들을 지워보자. CLI에서 삭제한 파일은 휴지통으로 가지 않고 영구 삭제되므로 언제나 조심해야 한다.
-
파일 삭제하기
방금 이름 변경한
bye.txt파일을 지운다.-
입력 (Mac):
rm bye.txt -
입력 (Windows):
del bye.txtTIP
rm은 Remove와 Delete의 약자다.
-
-
상위 폴더로 탈출하기
지금 있는
cli-test폴더 자체를 지우려면, 먼저 이 폴더 밖으로 나가야 한다.-
입력:
cd ..TIP
한 단계 위의 부모 폴더로 올라갈 때는 한 칸 띄우고
..을 붙인다.
-
-
폴더 삭제하기
비어있는
cli-test폴더를 삭제한다.-
입력 (Mac):
rmdir cli-test -
입력 (Windows):
rmdir cli-testTIP
rmdir은 Remove Directory의 약자다. 폴더 내부에 파일이 남아있으면 지워지지 않으니 내부를 먼저 비워야 한다.
-
명령어 요약 노트
오늘 다룬 핵심 명령어들이다. 마우스로 하던 행동과 매칭해서 외우면 훨씬 쉽다.
| 행동 | Mac / Linux 명령어 | Windows 명령어 |
|---|---|---|
| 현재 위치 보기 | pwd | cd |
| 파일 목록 보기 | ls | dir |
| 폴더 이동하기 | cd [폴더명] | cd [폴더명] |
| 폴더 만들기 | mkdir [폴더명] | mkdir [폴더명] |
| 파일 복사하기 | cp [원본] [대상] | copy [원본] [대상] |
| 파일 삭제하기 | rm [파일명] | del [파일명] |
