Исполняемые файлы — это файлы, содержащие инструкции, которые могут быть напрямую выполнены операционной системой или интерпретатором. Расширение таких файлов зависит от операционной системы, а также от среды выполнения. Ниже приведён подробный разбор по операционным системам, типам исполняемых файлов и соответствующим расширениям.
🖥 ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS
1. .exe (Executable)
Описание: Самый распространённый формат исполняемых файлов в Windows.
Использование: Запускаемые приложения, установочные программы, утилиты.
Формат: PE (Portable Executable).
Примеры:
notepad.exe
,setup.exe
2. .com (Command)
Описание: Старый формат исполняемых файлов, используемый в MS-DOS.
Особенности: Размер файла не должен превышать 64 КБ.
Примеры:
command.com
,debug.com
3. .bat / .cmd (Batch files / Command scripts)
Описание: Скрипты командной строки, исполняемые интерпретатором
cmd.exe
.Использование: Автоматизация, сценарии запуска.
Примеры:
install.bat
,backup.cmd
4. .ps1 (PowerShell script)
Описание: Скрипт для оболочки Windows PowerShell.
Использование: Автоматизация, управление системой.
Требуется разрешение выполнения через политику безопасности.
5. .msi (Microsoft Installer)
Описание: Пакет установщика Windows Installer.
Используется: Для установки/удаления/обновления программ.
Фактически: Не исполняется напрямую, но обрабатывается системой установщика.
🐧 ОПЕРАЦИОННАЯ СИСТЕМА LINUX / UNIX / macOS
На UNIX-подобных системах исполняемость файла определяется не расширением, а правами доступа (атрибут x
— исполняемый). Однако некоторые расширения используются по соглашению.
1. Без расширения
Описание: Многие исполняемые бинарные файлы и скрипты не имеют расширения.
Пример:
ls
,bash
,docker
2. .sh (Shell script)
Описание: Скрипт, написанный для интерпретатора командной строки (например, Bash).
Использование: Автоматизация задач, инициализация, установки.
3. .bin (Binary)
Описание: Двоичный исполняемый файл.
Использование: Часто используется для установщиков и проприетарных программ.
Пример:
install.bin
4. .run
Описание: Самораспаковывающийся установочный скрипт.
Использование: Распространяется проприетарным софтом (например, NVIDIA драйверы).
Пример:
nvidia-installer.run
5. .py, .pl, .rb, .php и др.
Описание: Скрипты на языках программирования (Python, Perl, Ruby, PHP).
Исполняются: Через соответствующий интерпретатор, если задать «shebang» (
#!/usr/bin/env python3
) и установить права.
🍎 macOS
1. Без расширения
.app — это папка, представляющая собой пакет (bundle), содержащий исполняемый файл, ресурсы и метаданные. Сам исполняемый файл внутри пакета обычно без расширения.
Исполняемые файлы: Могут быть как нативные бинарники (
Mach-O
), так и скрипты.
📱 МОБИЛЬНЫЕ ОС
Android:
.apk (Android Package)
Содержит: Скомпилированный код (DEX), ресурсы, манифест.
Запускается через Android Runtime.
iOS:
.ipa (iOS App Store Package)
Аналог .apk, используется в экосистеме Apple.
Содержит скомпилированный бинарный файл (Mach-O), ресурсы и манифест.
🌐 КРОССПЛАТФОРМЕННЫЕ ИСПОЛНЯЕМЫЕ ФОРМАТЫ
1. .jar (Java Archive)
Используется: Для запуска Java-приложений.
Запуск:
java -jar myapp.jar
Формат: ZIP, содержащий
.class
файлы.
2. .py / .pyc
.py — исходный код Python.
.pyc — байткод, компилируемый автоматически.
Запускается: через
python
илиpython3
.
3. .class
Описание: Скомпилированный Java-байткод.
Запуск: через JVM:
java MyClass
4. .dll, .so, .dylib
Это не исполняемые напрямую, а библиотеки, используемые исполняемыми файлами.
📦 Расширения установщиков, которые часто путают с исполняемыми:
Расширение | Описание | Примечание |
---|---|---|
.msi | Установочный файл Windows | Обрабатывается системой Windows Installer |
.deb | Debian/Ubuntu пакет | Установка через dpkg или apt |
.rpm | Red Hat/Fedora | Установка через rpm или dnf |
.pkg | macOS-пакет | Установка приложений в macOS |
.AppImage | Самодостаточный исполняемый файл Linux | Альтернатива установке |
📌 Заключение
ОС | Основные исполняемые расширения |
---|---|
Windows | .exe , .com , .bat , .cmd , .ps1 , .msi |
Linux/Unix | без расширения, .sh , .bin , .run , .py , .pl |
macOS | .app (папка), без расширения, .command |
Android | .apk |
iOS | .ipa |
Важно: В Linux и macOS решающим фактором является не расширение, а права на исполнение и наличие интерпретатора, указанного в начале скрипта (
shebang
).
Если тебе нужно — могу составить таблицу сравнения или помочь с примерами запуска для каждого расширения.