CLI(Command Line Interface)에 대해 알아보기

CLI(Command Line Interface)는 키보드를 사용하여 명령어를 입력하고 실행하는 방식의 인터페이스다.
GUI(Graphical User Interface)와 달리, CLI는 빠르고 강력한 제어 기능을 제공하며, 개발자들이 자주 활용한다.
1. 터미널이란?
터미널(Terminal)은 사용자가 운영체제(OS)와 직접 소통할 수 있는 명령줄 환경이다.
CLI 환경에서 사용자는 키보드를 통해 명령어를 입력하고, 이를 통해 파일 관리, 프로세스 실행, 네트워크 설정 등을 수행할 수 있다.
터미널의 역할
- 운영체제와 직접 소통하는 인터페이스
- GUI 없이 빠른 시스템 제어 가능
- 원격 서버 접속 및 관리 (SSH)
- 자동화 및 스크립트 실행 (배치 파일, 셸 스크립트)
2. 운영체제별 터미널
각 운영체제(OS)마다 기본적으로 제공하는 터미널 프로그램이 다르다.
Windows
- 명령 프롬프트 (Command Prompt, cmd)
- Windows 기본 CLI 환경
- MS-DOS 기반 명령어 사용
- 실행방법:
Win + R
을 눌러 실행창 열기 👉cmd
입력
- PowerShell
- Windows용 강력한 CLI 도구
- 객체 기반 명령어 지원 (cmd보다 강력함)
- 실행방법: 시작메뉴 👉
powershell
검색
- WSL(Windows Subsystem for Linux)
- Windows에서 리눅스 환경 제공 (Ubuntu, Debian 등 사용 가능)
- 실행방법: Window 스토어에서 WSL (Linux 배포판)을 설치한 후,
WSL을 실행 👉 설치후cmd
또는 PowerShell에서 에서wsl
명령을 입력하여 리눅스 배포판에 접속할 수 있다.
MacOS
- 터미널(Terminal.app)
- macOS 기본 내장 터미널
- 기본적으로 Bash 또는 Zsh 쉘을 사용
- UNIX 기반으로 Linux와 유사한 환경 제공
- 실행방법: 애플 메뉴 또는 Finder에서
응용 프로그램 > 유틸리티 > 터미널
orCommand + Space
를 눌러Spotlight
검색 창을 열고터미널
을 검색하여 실행
- iTerm2 (추천)
- macOS에서 기본 터미널보다 강력한 기능 제공
- 다중 창 지원, 단축키 기능 강화
- Oh My Zsh 설치+ 테마 로 커스터마이징
Linux
- 실행 방법:
- 대부분의 리눅스 배포판에서는
Ctrl + Alt + T
를 눌러 터미널을 바로 실행할 수 있다. - 또는 응용 프로그램 메뉴에서 터미널을 검색하여 실행할 수 있다.
- 대부분의 리눅스 배포판에서는
- GNOME Terminal, Konsole, Xfce Terminal 등
- 다양한 데스크탑 환경별 기본 터미널
- 대부분의 리눅스 배포판에서 제공
- TTY (Text Terminal)
- GUI 없이 실행되는 CLI 환경
- 서버 운영 및 원격 접속에 자주 사용
3. 터미널 기초 명령어
운영체제마다 명령어가 조금씩 다르지만, 기본적인 기능은 비슷하다.
파일 및 디렉터리 관리
명령어 | 설명 | Windows | Mac/Linux |
pwd | 현재 위치 확인 | ❌ | ✅ |
cd [디렉터리] | 디렉터리 이동 | ✅ | ✅ |
ls | 현재 디렉터리 파일 목록 보기 | ❌ (dir 사용) | ✅ |
dir | 파일 목록 보기 (Windows) | ✅ | ❌ |
mkdir [폴더명] | 새 폴더 생성 | ✅ | ✅ |
rm [파일명] | 파일 삭제 | ✅ | ✅ |
rm -r [폴더명] | 폴더 삭제 | ✅ | ✅ |
rmdir [폴더명] | 빈 폴더 삭제 | ✅ | ✅ |
cp [파일명] [새파일명] | 파일 복사 | ❌ (copy 사용) | ✅ |
mv [파일명] [새파일명] | 파일 이동/이름 변경 | ✅ | ✅ |
시스템 및 프로세스 관리
명령어 | 설명 | Windows | Mac/Linux |
echo "Hello" | 터미널에 출력 | ✅ | ✅ |
clear | 터미널 화면 지우기 | ❌ (cls 사용) | ✅ |
cls | Windows에서 화면 지우기 | ✅ | ❌ |
tasklist | 실행 중인 프로세스 확인 | ✅ | ❌ |
ps | 실행 중인 프로세스 목록 확인 | ❌ | ✅ |
kill [PID] | 특정 프로세스 종료 | ❌ (taskkill 사용) | ✅ |
taskkill /PID [번호] | Windows에서 프로세스 종료 | ✅ | ❌ |
top | 실시간 시스템 상태 확인 | ❌ | ✅ |
네트워크 및 시스템 정보
명령어 | 설명 | Windows | Mac/Linux |
ipconfig | 네트워크 설정 확인 | ✅ | ❌ (ifconfig 사용) |
ifconfig | 네트워크 설정 확인 | ❌ | ✅ |
ping [주소] | 네트워크 연결 테스트 | ✅ | ✅ |
netstat | 네트워크 연결 상태 확인 | ✅ | ✅ |
whoami | 현재 사용자 정보 확인 | ✅ | ✅ |
hostname | 컴퓨터 이름 확인 | ✅ | ✅ |
CLI를 배워야 하는 이유
첫번째, 많은 개발 도구와 프레임워크는 CLI 도구를 제공한다.
예를 들어, Git, Node.js, Docker, Kubernetes, AWS CLI, Terraform 등은 모두 CLI 기반으로 동작한다.
두번째, 많은 서버는 CLI 환경에서 관리된다.
특히 리눅스 서버는 CLI가 기본 관리 도구로 사용되는데,
원격 서버에 접속해 서버를 관리하거나 배포할 때, CLI를 사용해야 하므로 CLI 환경은 개발자들에게 필수 요소 이다.
CLI는 개발자가 시스템을 효율적으로 관리하고, 자동화 및 원격 작업을 수행하는 데 필수적인 도구이다.
프론트엔드 개발자라도 CLI 사용에 익숙해지면 프로젝트 설정, 패키지 관리(NPM, Yarn), Git 사용 등 개발 생산성을 높일 수 있다.
'기록 > 부트캠프' 카테고리의 다른 글
Javascript 계산기 프로젝트 (3) | 2025.03.27 |
---|---|
프로세스와 스레드 (0) | 2025.02.27 |
IDE와 코드에디터, Visual Studio Code와 확장 프로그램 추천 (0) | 2025.02.14 |
미션7. 웹 개발의 두 가지 포지션 (0) | 2025.02.14 |
미션6. 문제를 해결하는 개발자 (1) | 2025.02.14 |