Исполняемые файлы имеют расширение какого типа? Наиболее распространенные. Типы файлов в Ubuntu Исполняемый файл для виндоус

Любой юзер компьютерной системы, так или иначе, сталкивался с понятием исполняемого файла программы. И не всегда (хотя и очень часто) исполняемые файлы имеют расширение EXE, общепринятое для Windows-систем. Чтобы разобраться в вопросе расширений, рассмотрим общую информацию о таких объектах и некоторые их основные типы.

Отличия исполняемых файлов от других объектов

Прежде чем утверждать, что исполняемый файл программы имеет расширение только лишь одного определенного типа, следует разобраться с тем, как отличить такой объект от других.

На самом деле, среди основных отличий исполняемых файлов от других информационных данных выделяют несколько основных:

  • само расширение, указывающее на содержание в файле либо машинного, либо байт-кода виртуальной машины;
  • сигнатура (содержимое в виде уникальных байт-последовательностей);
  • атрибуты в файловой системе (execute и др.).

К сожалению, даже если знаешь, что исполняемые файлы имеют расширение имени, например, EXE, просмотреть содержимое обычными средствами не получится, поскольку такие объекты обладают компилированным содержимым, которое при просмотре отображается в виде бессмысленного набора символов. В лучшем случае придется использовать средства Disassembler или что-то еще, позволяющее произвести декомпиляцию. Но сейчас не об этом.

Структура исполняемых файлов

Что касается построения файлов такого типа, как правило, они содержат заголовки (предполагаемое исполнение инструкций, параметры, форматы кода), сами инструкции (машинные, исходные или байт-коды).

Иногда в структуру могут включаться описания окружения, данные для отладки, требования к ОС, списки сопутствующих библиотек, изображения, звук, графика, иконки ярлыков и т. д. Кстати, многие, наверное, обращали внимание, что в большинстве своем в каждой операционной системе иконка у такого файла имеется изначально (при условии, что он со старта должен в ней работать).

Принцип работы

Собственно, несмотря на то, что исполняемые файлы имеют расширение разного типа, работают они похожим образом.

При запуске исполняемый файл загружается в память компьютера. При этом происходит инициализация и настройка окружения, «подтягивание» дополнительных библиотек, если применение таких предусмотрено программой, настройка некоторых дополнительных операций и само исполнение инструкций методами, прописанными в файле.

Какое расширение имеют исполняемые файлы программ?

Теперь подходим непосредственно к вопросу расширений. Само собой разумеется, что абсолютно все привести не получится (это займет уж слишком много времени). С другой стороны, можно отметить наиболее популярные и самые распространенные.

Итак, в зависимости от типа содержимого и задается расширение. Так, например, в Windows самые распространенные исполняемые файлы имеют расширение EXE. Это относится ко всем программам, рассчитанным на работу в среде этих операционных систем. Такие объекты содержат Очень похожими (тоже с содержанием таких кодов) являются файлы BIN.

Еще одним типом исполняемых файлов являются пакетные объекты типа CMD, BAT и COM, причем первый тип является Windows, а второй и третий относятся к системам DOS.

Вероятно, многие встречали и файлы MSI и MSU. Это может быть либо «родной» инсталлятор Windows, либо установщик апдейтов системы.

Кроме всего прочего, отдельную категорию составляют скрипты и макросы (VB, VBS, VBE, SCR, JS, JSE). Еще часто встречаются файлы вроде JAR и JAD, предназначенные для установки приложений на мобильные гаджеты или использование в среде JAVA. Все такие объекты в содержании имеют уже не машинные коды, а коды виртуальных машин.

Какое расширение имеют исполняемые файлы в разных системах?

Если посмотреть внимательно, можно заметить, что в некоторых системах встречаются и достаточно специфичные компоненты. Например, в Windows имеется специальная категория исполняемых компонентов (PS1 - исполняемый файл PowerShell, PIF - информация о приложениях, WSF - файл сценария и т. д.).

Вообще, в любой системе можно найти и стандартные, и специальные компоненты. Однако есть и некоторые общие форматы (например, HTA - исполняемый документ HTML), которые работают везде и независимо от применяемой «операционки».

Что же касается других систем, например, в «маках» исполняемые файлы имеют расширение APP, если это программы, и PKG, если это дистрибутив.

А вот с Linux-системами дело обстоит несколько иначе. Дело в том, что в них понятие расширения отсутствует как таковое. Распознать исполняемый файл можно только по атрибутам (скрытый, только для чтения, системный и т. д.). Таким образом, отпадает даже проблема изменения расширений, чтобы запустить или прочитать искомый файл.

Впрочем, в любой системе или даже в мобильных гаджетах можно найти огромное количество объектов такого типа. Далеко ходить не нужно. В той же ОС Android исполняемый файл установщика имеет расширение APK, а в «яблочных» девайсах это файлы IPA.

Заключение

Вот вкратце и все, что касается расширений исполняемых файлов. Конечно, в данном случае упор делался в основном на объекты, присутствующие в Windows-системах, а остальные были затронуты вскользь и, так сказать, для общего развития. И, как уже понятно, разнообразие объектов исполняемого типа настолько велико, что привести какую-то сводную таблицу с указанием абсолютно всех расширений просто не представляется возможным, поэтому мы ограничились наиболее распространенными форматами.

Большинство пользователей современных компьютерных систем, так или иначе, сталкиваются с запуском программ, которые в большинстве своем сводятся к тому, чтобы исполнить исполняемый файл. Грубо говоря, во всех программах для запуска основного приложения используется объект формата EXE. Но это не всегда так.

В устаревших ОС вроде DOS или отличных от Windows такие файлы могут иметь совершенно другое расширение, хотя принцип старта остается абсолютно неизменным.

Исполнить исполняемый файл: что это значит?

Для полного понимания сути происходящего сначала стоит разобраться с тем, что собой представляет любой процесс запуска приложения. Тот же исполняющий файл «Навител» или любой другой программы представляет собой некий апплет, в котором прописан код запуска, распознаваемый операционной системой или дополнительными приложениями, для этого предназначенными. Но тут стоит понимать, что программы, состоящие исключительно из одного исполняемого файла, сегодня неактуальны. Как правило, в пакет включается еще огромное количество сопутствующих компонентов в виде тех же динамических библиотек, имеющих расширение DLL. Как раз-таки без них исполнить исполняемый файл возможно не всегда.

Суть в том, что при запуске основного модуля программного пакета, который и состоит в старте EXE-файла, некоторые приложения требуют «подгрузки» дополнительных модулей, которые как раз и являются файлами настроек конфигурации (config) или тех же динамических библиотек, содержащих данные о программе.

Кстати, иногда сами динамические библиотеки способны исполнять роль программ. Так, например, старт любого VST-инструмента в современной студии (DAW) происходит именно по этому принципу. Программа как таковая в виде версии Standalone может отсутствовать, но плагин в виде ее аналога с расширением DLL распознается любой программой.

Программы-исполняемые файлы: типы

Но и это еще не все. Расширение исполняемых файлов сегодня определить не так и просто, не говоря уже о файлах формата EXE или COM. Отдельно стоит отметить не только упомянутые выше стандарты, но и архивные данные.

По сути, архивы формата SFX (Self-Extracting) представляют собой самостоятельно извлекаемые данные на основе срабатывания алгоритма распаковки. такого типа проще простого. Достаточно лишь сделать двойной клик, и операция при выборе места извлечения будет произведена автоматически. На мобильных устройствах используются форматы вроде JAR, JAD APK и т. д., относящиеся к разряду установщиков.

Можно ли открыть исполняемые файлы?

Многих пользователей интересует вопрос редактирования запускаемых файлов. Сразу же стоит всех огорчить. Дело в том, что те же «экзешники» представляют собой компилированные программы, исходный код которых обычно просмотреть невозможно. Можно, конечно, применить утилиты вроде Disassembler, но и они при условии написания приложения изначально на языке C++ этого результата могут и не дать.

Как произвести простейшее редактирование?

Как уже понятно, EXE-файл в его читабельном виде открыть невозможно, поскольку сама же программа может быть написана на разных языках программирования. То же самое касается и динамических библиотек. Зато файлы конфигурации открыть можно даже в стандартном «Блокноте». А если его запустить от имени админа, можно установить даже запреты доступа к некоторым сайтам в Интернете, а после этого сохранить конфигурацию, что в обычном режиме не представляется возможным. Те же самые «конфиги» редактируются элементарно.

Можно ли сделать любой файл исполняемым?

В принципе, любой файл, находящийся на жестком диске, является исполняемым. Точнее, исполнить исполняемый файл - значит, запустить приложение, отвечающее за его открытие. Даже в автозагрузке сделать запуск файла при старте системы можно совершенно элементарно.

Достаточно внести процесс в список и указать сопутствующий объект, который будет загружаться немедленно (например, открытие документа Office). Сделать файл исполняемым - это еще далеко не самое главное.

Резюме

Таким образом, завершая тему, стоит отметить, что файлы или объекты, отвечающие за старт какого-нибудь приложения, в стандартном варианте открыть можно только двойным кликом. А вот редактировать их не представляется возможным. Правда, если программы имеют статус свободно распространяемых по лицензии GNU, вносить изменения в программный код приложений можно очень даже запросто.

Но это частный случай, который, в общем-то, с основной темой и не связан. Другое дело - запуск исполняемого файла, о котором пользователь и представления не имеет. В данном случае акцент следует сделать на вирусах, которые могут приходить в виде тех же вложений электронной почты. Если видите, что прикрепленный файл не имеет значка, не вздумайте его открывать. Хотя в равной степени это касается и вирусов, которые маскируются под такие сообщения. В этом случае вредоносная программа сможет исполнить исполняемый файл или встроенный в него код совершенно запросто, а потом возникнет огромная куча проблем.

И вызов (запуск) исполняемого файла в данном случае уже может не зависеть от самого пользователя, поскольку вирус внедрился в систему. Остается только уповать на универсальные программы в виде портативных версий или же на утилиты модификаций Rescue Disk с загрузкой и проверкой системы еще до начала старта Windows.

Исполняемый файл как таковой, что самое интересное, в загрузчике отсутствует. Зато есть конфигуратор BIN, который и отвечает за старт системы. Кроме того, в устаревших версиях Windows можно встретить еще и папки вроде i386, в которых располагаются драйверы и некоторые другие сопутствующие утилиты. Но в новых версиях системы таких объектов нет.

EXE - это расширение для программ в ОС DOS и Windows. Формат Exe относится к группе исполняемых файлов, которые содержат все данные для установки приложения. Чтобы компактно распространить установочный файл используются алгоритмы сжатия.

Содержимое файла

Объект с расширением EXE встречается в ОС Windows. Программа exe содержит сценарии и скомпилированный программный код, запускающий установку приложений. Содержимое объекта EXE включает:

  • Программные ресурсы - графика и другие медиа-элементы, а также сжатые пакеты (.package) классов программного кода;
  • Формы объектов (битмапы, листы, иконки приложений);
  • Информация для загрузчика файла;
  • Модуль запуска инсталляции.

При запуске EXE система начинает автоматическую инициализацию всех заархивированных компонентов флеш-накопителя, виртуального или жесткого диска. К компонентам EXE файла относят программные библиотеки, подключённые службы, программный код.

После распаковки исполняемого файла в операционной системе начинается инициализация всех программных классов и установка приложения.

Программы для открытия EXE

В Windows Exe объект открыть можно с помощью стандартного установщика или утилиты 7Zip . Для запуска файла достаточно дважды кликнуть по нему мышкой или запустить объект через меню архиватора. Для запуска в MacOS следует установить эмулятор ОС Windows и в нем открыть файл Exe.

EXE может быть не только модулем установки программы, но и самораспаковывающимся архивом. Запуск Exe файлов позволяет его содержимому распаковаться в указанную пользователем или самим архивом папку.

Чтобы посмотреть содержимое файла EXE без его запуска, следует воспользоваться инструментами для разработчика, а именно программным пакетом Visual Studio . С его помощью можно редактировать программные ресурсы, изменять интерфейс и функции программного модуля. Внесение изменений возможно только для приложений с отрытым исходным кодом (в которых не используется шифрование).

Операционная система Linux, в отличие от Windows, определяет какие файлы являются программами не по расширению, а по специальному флагу исполняемости. У каждого файла есть три основных флага, чтение, запись и исполнение. Они определяют что система может делать с этим файлом.

Когда вы загружаете различные установщики программ из интернета или создаете скрипт в текстовом редакторе, для них устанавливаются флаги по умолчанию - только чтение и запись. Вы не сможете запустить такой файл как программу, с ним нужно сделать еще кое-что. В этой статье мы рассмотрим как сделать файл исполняемым в Linux.

Уже много написано о том, как установить флаг исполняемости. Но что происходит с файлом во время этого, что такое исполянемость и как это работает?

Программа - это набор инструкций, которые по очереди выполняет процессор над данными, чтобы получить определенный результат. Но это вы, наверное, уже знаете.

На самом деле для процессора нет разницы между данными и инструкциями. И те и другие состоят из байт, проще говоря цифр. Когда-то договорились, что определенные сочетания цифр будут означать то или иное действие процессора, а во всем остальном это те же данные. Поэтому для процессора нет никакой разницы что выполнять - исполняемый файл linux или обычный текстовый файл. Оба могут быть успешно выполнены, вот только во втором варианте инструкции не имеют никакого смысла.

Чтобы система могла определить какие файлы нужно выполнять, а какие лучше не надо и был придуман флаг исполняемости. По сути, флаг исполяемости - это несколько байт в файловой системе, которые говорят нужно выполнять файл или нет, само содержимое файла никак не изменяется. Со скриптами все работает точно так же, только команды из файла выполняет не процессор, а интерпретатор, например, в bash скриптах - сама оболочка bash. Да и в обычных программ тоже есть свой загрузчик - это ld-linux.so.2.

Как сделать файл исполняемым в Linux?

В операционной системе Linux, для управления флагами файлов используется утилита chmod. Синтаксис вызова утилиты:

  • Категория - флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.
  • Действие - может быть + (плюс) , что будет значить установить флаг или - (минус) снять флаг.
  • Флаг - один из доступных флагов - r (чтение), w (запись), x (выполнение).

Например, чтобы сделать исполняемый скрипт в linux для владельца файла, достаточно выполнить:

chmod u+x адрес_файла

Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o :

chmod ugo+x адрес_файла

Посмотреть флаги в терминале можно с помощью утилиты ls:

ls -l каталог_с_файлами

Это значит, что все флаги включены для всех категорий. Первое rwx - флаги владельца, второе - группы, а третье - для всех остальных. Если флаг не установлен, на его месте будет прочерк.

Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:

chmod u-x адрес_файла

Как установить фалг исполняемости в GUI

Вы можете сделать файл исполняемым в linux не только через терминал. Такая функциональность есть во всех файловых менеджерах. Возможно, на первых порах это будет для вас проще. Рассмотрим на примере файлового менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:

Дальше перейдите на вкладку права и установите галочку Разрешить выполнение файла как программы :

Готово, исполняемый файл linux может быть запущен системой, прямо из файлового менеджера.

Выводы

Вот и все, теперь вы знаете как сделать файл исполняемым в linux. И если нужно будет запустить скрипт или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментариях!