IT 인터넷

EXE MSI BAT SH 실행 파일 확장자(차이, 실행 방법, 운영체제별 용도)

블로소득 IT 2026. 9. 28. 21:36

EXE MSI BAT SH 실행 파일 확장자는 모두 프로그램이나 명령을 실행할 때 자주 보이지만 역할은 서로 다르다. EXE는 Windows에서 직접 실행되는 프로그램 파일, MSI는 Windows 프로그램 설치 패키지, BAT는 Windows 명령 프롬프트 명령을 순서대로 실행하는 배치 파일, SH는 Linux·macOS 같은 유닉스 계열에서 셸 명령을 실행하는 스크립트 파일이다. 겉보기에는 모두 ‘실행 파일’처럼 느껴지지만 실제로는 프로그램 본체인지, 설치용 패키지인지, 명령어 모음인지에 따라 사용법이 달라진다.

 

컴퓨터 폴더와 실행 아이콘 옆에 EXE MSI BAT SH 실행 파일 확장자 문구를 크게 보여주는 대표 카드

EXE MSI BAT SH 실행 파일 확장자는 무엇이 다를까?

가장 큰 차이는 파일 안에 들어 있는 내용과 실행되는 환경이다. EXE는 컴파일된 실행 프로그램인 경우가 많고, MSI는 Windows Installer가 처리하는 설치 패키지다. BAT와 SH는 사람이 읽을 수 있는 명령어를 줄 단위로 적어 실행하는 스크립트 파일이다.

 

확장자 주요 용도 주로 사용하는 환경
EXE 프로그램 직접 실행 Windows
MSI 프로그램 설치·수정·제거 패키지 Windows
BAT 여러 명령어를 순서대로 자동 실행 Windows 명령 프롬프트
SH 셸 명령어와 자동화 작업 실행 Linux·macOS·Unix 계열

 

EXE는 흔히 프로그램 자체를 실행하는 파일이다. 예를 들어 설치 프로그램도 EXE 형식일 수 있고, 설치가 끝난 뒤 실제 프로그램 본체도 EXE일 수 있다. 반면 MSI는 Windows Installer 서비스가 파일, 레지스트리, 바로가기, 제거 정보 등을 관리하면서 프로그램을 설치하도록 만든 패키지 형식이다.

 

BAT와 SH는 실행 파일이라기보다 명령어를 모아둔 스크립트에 가깝다. 파일을 메모장이나 텍스트 편집기로 열면 안에 적힌 명령을 직접 확인할 수 있다는 점이 EXE·MSI와 다르다.

EXE는 프로그램 실행 MSI는 설치 패키지 BAT는 Windows 명령 스크립트 SH는 Linux macOS 셸 스크립트라고 비교하는 카드

EXE와 MSI는 설치 파일이라는 점에서 같은 걸까?

둘 다 프로그램 설치에 사용될 수 있지만 같은 형식은 아니다. EXE는 개발자가 원하는 방식으로 만든 실행 프로그램이고, MSI는 Windows Installer 규칙에 맞춘 설치 데이터베이스와 설치 정보를 담는 패키지다.

 

  • EXE는 설치 프로그램일 수도 있고 일반 프로그램 본체일 수도 있다.
  • MSI는 보통 설치·수정·복구·제거를 체계적으로 관리하는 데 쓰인다.
  • 회사에서는 MSI를 이용해 여러 PC에 프로그램을 일괄 배포하는 경우가 많다.
  • EXE 설치 프로그램 안에서 MSI를 내부적으로 호출하는 방식도 가능하다.
  • MSI는 보통 더블클릭하면 Windows Installer를 통해 설치가 시작된다.

 

따라서 확장자만 보고 ‘EXE는 실행용, MSI는 설치용’이라고 완전히 나누기는 어렵다. EXE도 설치 프로그램으로 매우 흔하게 사용된다. 다만 MSI는 설치 정보가 표준화돼 있어 기업 배포, 자동 설치, 유지보수에서 편리한 경우가 많다.

 

또 MSI 파일을 명령줄에서 실행할 때는 msiexec 명령을 이용할 수 있다. 예를 들어 자동 설치나 제거 옵션을 함께 사용하는 관리 작업에서 활용된다. 일반 사용자는 파일을 더블클릭해 설치하는 경우가 대부분이다.

EXE와 MSI의 차이와 Windows Installer 설치 수정 제거 기업 배포 특징을 설명하는 카드

BAT와 SH 파일은 어떻게 실행할까?

BAT는 Windows 명령 프롬프트용 스크립트이고, SH는 Bash 같은 셸에서 사용하는 스크립트다. 둘 다 반복 작업을 자동화할 때 유용하지만 운영체제와 명령 문법이 서로 달라 그대로 호환되지 않는 경우가 많다.

 

  1. BAT 파일은 Windows에서 더블클릭하거나 명령 프롬프트에서 파일명을 입력해 실행할 수 있다.
  2. 관리자 권한이 필요한 BAT는 우클릭 후 관리자 권한으로 실행해야 할 수 있다.
  3. SH 파일은 Linux·macOS 터미널에서 bash 파일명.sh 또는 sh 파일명.sh처럼 실행할 수 있다.
  4. 직접 실행하려면 chmod +x 파일명.sh로 실행 권한을 준 뒤 ./파일명.sh 방식으로 실행할 수 있다.
  5. SH 첫 줄의 #!/bin/bash 같은 shebang은 어떤 인터프리터로 실행할지 지정하는 역할을 한다.

 

Windows에서도 WSL, Git Bash, Cygwin 같은 환경을 사용하면 SH 스크립트를 실행할 수 있다. 반대로 BAT 파일은 Linux나 macOS에서 기본적으로 실행되지 않으며 같은 작업을 하려면 셸 스크립트로 다시 작성해야 하는 경우가 많다.

 

실행 파일과 스크립트는 출처를 확인하는 것이 중요하다. EXE와 MSI뿐 아니라 BAT와 SH도 파일 삭제, 프로그램 설치, 계정 변경, 외부 서버 접속 같은 명령을 실행할 수 있다. 출처가 불분명한 파일은 실행하지 말고, BAT·SH는 가능하면 텍스트 편집기로 내용을 먼저 확인하는 것이 안전하다.

BAT는 명령 프롬프트 SH는 셸에서 실행하며 출처가 불분명한 스크립트는 실행 전 내용을 확인해야 한다는 카드

마치면서

EXE MSI BAT SH 실행 파일 확장자는 각각 역할과 실행환경이 다르다. EXE는 Windows 프로그램 실행, MSI는 Windows 설치 패키지, BAT는 Windows 명령 자동화, SH는 Linux·macOS 등에서 셸 명령 자동화에 주로 쓰인다. 특히 BAT와 SH는 단순한 텍스트 파일처럼 보여도 시스템 명령을 실행할 수 있으므로 신뢰할 수 있는 출처인지 확인한 뒤 실행하는 것이 좋다.

 

[안내드립니다] 이 글은 일반적인 Windows, Linux, macOS 환경을 기준으로 실행 파일과 스크립트 확장자의 차이를 정리한 내용입니다. 실제 실행 방법은 운영체제 버전, 셸 종류, 프로그램 구성과 보안 정책에 따라 달라질 수 있으므로 중요한 시스템에서 실행하기 전 파일 출처와 내용을 확인하시기 바랍니다.