1. CLI란? – 명령줄 인터페이스의 개념
CLI(Command Line Interface)는 사용자가 텍스트 기반 명령어를 입력하여 컴퓨터와 상호 작용하는 인터페이스입니다. GUI(그래픽 사용자 인터페이스)와 달리 CLI는 마우스 없이 키보드만으로 시스템을 제어할 수 있어 빠르고 효율적인 작업이 가능합니다.
개발자와 시스템 관리자는 CLI를 활용하여 파일 관리, 네트워크 설정, 소프트웨어 설치 및 서버 운영을 수행합니다. 대표적인 CLI 환경으로는 Windows의 PowerShell 및 CMD, macOS 및 Linux의 Terminal이 있습니다.
이번 글에서는 CLI의 기본 개념과 함께 Windows, macOS, Linux에서 자주 사용하는 명령어를 정리하고, 효율적인 CLI 사용법을 소개하겠습니다.
2. Windows, macOS, Linux 기본 명령어 정리
CLI 환경은 운영 체제(OS)에 따라 다르며, 명령어도 차이가 있을 수 있습니다. 여기서는 공통적으로 많이 사용되는 명령어를 정리해보겠습니다.
(1) 디렉터리 및 파일 관리
현재 디렉터리 확인 | cd / pwd | pwd |
디렉터리 이동 | cd 폴더명 | cd 폴더명 |
디렉터리 목록 확인 | dir | ls |
디렉터리 생성 | mkdir 폴더명 | mkdir 폴더명 |
파일 삭제 | del 파일명 | rm 파일명 |
디렉터리 삭제 | rmdir 폴더명 | rm -r 폴더명 |
파일 복사 | copy 원본 대상 | cp 원본 대상 |
파일 이동/이름 변경 | move 원본 대상 | mv 원본 대상 |
예제
- Windows: mkdir my_project (my_project 폴더 생성)
- Linux/macOS: rm -rf temp_folder (temp_folder 삭제)
(2) 시스템 정보 확인
시스템 정보 확인 | systeminfo | uname -a |
현재 사용자 확인 | whoami | whoami |
현재 실행 중인 프로세스 확인 | tasklist | ps aux |
메모리 사용량 확인 | wmic os get FreePhysicalMemory | free -h |
디스크 공간 확인 | wmic logicaldisk get size,freespace,caption | df -h |
예제
- Linux/macOS: top (실시간 프로세스 및 시스템 상태 확인)
- Windows: tasklist | find "chrome" (Chrome 프로세스 찾기)
(3) 네트워크 관련 명령어
IP 주소 확인 | ipconfig | ifconfig 또는 ip a |
네트워크 연결 확인 | ping 주소 | ping 주소 |
도메인 정보 조회 | nslookup 도메인 | dig 도메인 또는 nslookup 도메인 |
활성 네트워크 연결 확인 | netstat -an | netstat -an |
특정 포트 사용 여부 확인 | `netstat -ano | findstr 포트번호` |
예제
- ping google.com (Google 서버와 연결 확인)
- netstat -ano | findstr :8080 (Windows에서 8080 포트 사용 프로세스 확인)
(4) 프로세스 및 서비스 관리
실행 중인 프로세스 목록 | tasklist | ps aux |
특정 프로세스 종료 | taskkill /PID 프로세스ID | kill 프로세스ID |
서비스 목록 확인 | net start | systemctl list-units --type=service |
서비스 시작 | net start 서비스명 | systemctl start 서비스명 |
서비스 중지 | net stop 서비스명 | systemctl stop 서비스명 |
예제
- Linux/macOS: kill -9 1234 (PID 1234 프로세스 강제 종료)
- Windows: taskkill /F /IM chrome.exe (Chrome 종료)
3. CLI 활용도를 높이는 고급 사용법
(1) 명령어 조합 (파이프 & 리다이렉션)
CLI에서는 여러 개의 명령어를 조합하여 강력한 기능을 구현할 수 있습니다.
- 파이프 (|): 앞의 명령어 결과를 다음 명령어 입력으로 전달
- 예: ls -l | grep "test" (test가 포함된 파일만 출력)
- 출력 리다이렉션 (>, >>)
- >: 기존 파일을 덮어쓰기
- >>: 기존 파일에 추가
- 예: ls -l > output.txt (출력을 output.txt에 저장)
(2) CLI에서 SSH 원격 접속
원격 서버에 접속하려면 SSH(Secure Shell) 명령어를 사용합니다.
예제:
- ssh user@192.168.1.100 (로컬 네트워크 내 서버 접속)
- ssh -i my_key.pem ubuntu@ec2-xx-xx-xx-xx.compute.amazonaws.com (AWS 서버 접속)
(3) 스크립트 작성
반복적인 CLI 명령어 실행을 자동화하려면 스크립트를 활용하면 좋습니다.
- Windows (Batch Script)
-
bat복사편집@echo off echo "Hello, CLI!" dir
- Linux/macOS (Shell Script)
-
sh복사편집#!/bin/bash echo "Hello, CLI!" ls -l
파일을 실행 가능하게 변경한 후 실행
4. CLI 사용의 장점
CLI는 GUI보다 효율적이며, 다양한 작업을 자동화할 수 있습니다.
- 빠른 작업 처리: GUI보다 명령어 입력이 빠름
- 자동화 가능: 반복 작업을 스크립트로 자동화
- 서버 운영 필수 도구: 원격 서버 관리, 네트워크 설정 가능
CLI 사용법을 익히면 시스템 관리, 개발, 배포, 네트워크 설정 등 다양한 분야에서 강력한 작업을 수행할 수 있습니다.
5. 결론
CLI는 개발자와 시스템 관리자가 필수적으로 익혀야 할 도구입니다.
- Windows, macOS, Linux에서 CLI 환경을 사용하여 파일 및 디렉터리를 관리할 수 있습니다.
- 네트워크 설정, 프로세스 관리, 원격 접속 등 다양한 명령어를 활용하면 효율적인 작업이 가능합니다.
- 명령어 조합, SSH 접속, 스크립트 작성 등 고급 기능을 익히면 CLI 활용도를 극대화할 수 있습니다.
CLI에 익숙해지면 개발 및 서버 운영 속도가 향상되고, 더욱 전문적인 작업을 수행할 수 있습니다. CLI 명령어를 꾸준히 연습하고, 실무에 적용해 보시기 바랍니다.
'IT & 웹개발' 카테고리의 다른 글
AWS, Google Cloud, Azure 비교 – 어떤 클라우드 서비스를 선택해야 할까? (0) | 2025.03.28 |
---|---|
GitHub Actions를 활용한 CI/CD 자동화 (0) | 2025.03.28 |
클라우드 및 DevOps (0) | 2025.03.28 |
웹사이트 로그 분석 – 보안 이상 징후 탐지 방법 (0) | 2025.03.27 |
웹 애플리케이션 방화벽(WAF)이 필요한 이유 (0) | 2025.03.27 |