IT & 웹개발

CLI(Command Line Interface) 명령어 정리 및 기본 사용법

kkwako 2025. 3. 28. 10:14

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) 디렉터리 및 파일 관리

기능Windows (CMD/PowerShell)macOS/Linux (Terminal)
현재 디렉터리 확인 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) 시스템 정보 확인

기능Windows (CMD/PowerShell)macOS/Linux (Terminal)
시스템 정보 확인 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) 네트워크 관련 명령어

기능Windows (CMD/PowerShell)macOS/Linux (Terminal)
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) 프로세스 및 서비스 관리

기능Windows (CMD/PowerShell)macOS/Linux (Terminal)
실행 중인 프로세스 목록 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) 명령어를 사용합니다.

sh
복사편집
ssh 사용자명@서버주소

예제:

  • 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

파일을 실행 가능하게 변경한 후 실행

sh
복사편집
chmod +x script.sh ./script.sh

4. CLI 사용의 장점

CLI는 GUI보다 효율적이며, 다양한 작업을 자동화할 수 있습니다.

  • 빠른 작업 처리: GUI보다 명령어 입력이 빠름
  • 자동화 가능: 반복 작업을 스크립트로 자동화
  • 서버 운영 필수 도구: 원격 서버 관리, 네트워크 설정 가능

CLI 사용법을 익히면 시스템 관리, 개발, 배포, 네트워크 설정 등 다양한 분야에서 강력한 작업을 수행할 수 있습니다.

 

CLI(Command Line Interface) 명령어 정리 및 기본 사용법

 

5. 결론

CLI는 개발자와 시스템 관리자가 필수적으로 익혀야 할 도구입니다.

  • Windows, macOS, Linux에서 CLI 환경을 사용하여 파일 및 디렉터리를 관리할 수 있습니다.
  • 네트워크 설정, 프로세스 관리, 원격 접속 등 다양한 명령어를 활용하면 효율적인 작업이 가능합니다.
  • 명령어 조합, SSH 접속, 스크립트 작성 등 고급 기능을 익히면 CLI 활용도를 극대화할 수 있습니다.

CLI에 익숙해지면 개발 및 서버 운영 속도가 향상되고, 더욱 전문적인 작업을 수행할 수 있습니다. CLI 명령어를 꾸준히 연습하고, 실무에 적용해 보시기 바랍니다.