Я не знаю, каково точное расширение исполняемого файла. Это .deb
или .tar.gz
?
executable
user54905
источник
источник
.exe
расширениями, которые не нужны для собственных исполняемых файлов. Первый объясняет содержание/dev
; последнее связано с разрешениями на выполнение и проверкой внутренней части файла, чтобы определить, какой это тип файла.Ответы:
В Windows нет стандартного File-Extention, подобного файлу ".exe".
В Linux практически любой файл может быть исполняемым. Окончание файла просто описывает (но не обязательно), что или как файл «исполняется».
Например, скрипт оболочки заканчивается на .sh и «выполняется» через оболочку bash.
В своем вопросе вы спрашиваете .deb и .tar.gz. Хорошо. Файл .deb устанавливает программное обеспечение в вашей системе (пожалуйста, будьте осторожны!), А файл .tar.gz представляет собой сжатый файл, такой как .zip, который вы могли бы узнать по Окна.
источник
.deb
файлы, как правило, НЕ являются исполняемыми файлами: они не являются ни ELF, ни сценариями "she-bang", и они вряд ли будут зарегистрированы в binfmt. Даже с исполняемыми разрешениями ядро не будет знать, что с ними делать. Тот факт, что ваш файловый менеджер может быть зарегистрирован для открытия файлов в определенном приложении на основе расширения, не имеет ничего общего с их исполняемостью (с точки зрения разрешения файла или с точки зрения выполнения двоичного формата ядра)..deb
больше похоже на.msi
файл, чем.exe
файл.Я бы суммировал систему следующим образом:
Любой файл, начинающийся с
#!
(называемый shebang или hashbang) в первой строке, является просто сценарием. Путь после шебанга - это путь к программе (исполняемому файлу), которая должна проанализировать скрипт, при условии, что для файла было установлено разрешение на выполнениеchmod a+x filename
.Поэтому, ответьте на свой оригинальный вопрос, расширения нет, или редко, это
.elf
или.bin
.Это сделано вики-сообществом, поэтому любой может добавить запись.
источник
Концепция исполняемого файла отличается в Unix / Linux от Windows.
Windows
Все, что заканчивается
.exe
или.com
становится исполняемым файлом.Linux / Unix
Каждый файл имеет исполняемый бит, поэтому любой файл может быть выполнен, в отличие от Windows. Чтобы увидеть, является ли файл исполняемым, вы можете проверить его свойства (вкладка «Разрешения») или даже увидеть их помеченные в терминале (все они отмечены *).
Даже текстовые файлы (например, сценарии оболочки) могут иметь свои исполняемые биты и запускаться как единое целое.
источник
#!/bin/bash
например) в начале файла устанавливает, какая программа выполняет файл.man magic
, ELFman elf
и строка хэш-бэнгman execve
)Чтобы узнать, что операционная система UNIX думает о типе конкретного файла, вы используете команду file:
В приведенном выше примере я указываю путь к программе 'ls', вы должны заменить путь к вашему файлу.
Файл сценария будет выглядеть так:
Случайный текстовый файл:
Архивный файл:
Он даже достаточно умен, чтобы правильно идентифицировать программу Windows, если у вас есть одна, лежащая на вашем компьютере с UNIX:
И когда он не может понять, что это за файл (но может открыть его), он называет это данными:
источник
Выполнение файла в Linux вообще не связано с именем файла или расширением. Любой файл может быть потенциально выполнен при условии, что он обрабатывается
binfmt
механизмом ядра (и что для него установлены разрешения на выполнение).Наиболее распространенным форматом для исполняемого файла является ELF , хотя некоторые ядра могут быть скомпилированы для поддержки старого
a.out
формата. (Для получения полной технической информации,binfmt_elf.c
это где искать.)Другим распространенным механизмом является «притон» система, обрабатывается
binfmt_script
, который ищет#!/path/to/interpreter
в начале файла.binfmt_misc
позволяет для регистрации других обработчиков, как описано здесь .Если вам нравится заниматься программированием ядра, вы даже можете написать свой собственный .
Хотя это и не связано напрямую,
file
команда должна указать вам, является ли файл исполняемым файлом ELF или чем-то еще.Соглашение об именах не имеет ничего общего с состоянием исполняемого файла (кроме случаев, когда он используется для
binfmt_misc
регистрации). Они просто соглашения. Как правило,.exe
файл, найденный в Linux, может быть моно-приложением , получившим.exe
расширение в соответствии с соглашением, исходящим из мира Windows / .Net.Другой аспект, который может возникнуть, когда вы хотите «запустить» файл, - это иметь инструмент проводника, который использует расширения регистра, чтобы иметь возможность запустить программу, которая откроет эти файлы. Это то, что произойдет, если вы дважды щелкнете по a
.txt
,.tar.gz
или.deb
, например: файлы не являются ни исполняемыми, ни исполняемыми, но то, что вы используете для двойного щелчка, выбирает, какой исполняемый файл нужно открыть, чтобы открыть эти файлы.источник
В Windows .exe-файл - это компьютерный файл, который заканчивается расширением «.exe», которое обычно называют исполняемым файлом. Когда вы нажимаете exe-файл, встроенная подпрограмма автоматически выполняет код, который может привести в движение несколько функций. EXE-файлы обычно используются для установки файлов в операционной системе Windows.
Кроме того, у вас есть файлы .tar, обычно известные как сжатые файлы. В версиях Linux, таких как Ubuntu, функции используются в различных дистрибутивах программного обеспечения, причем большая часть исходного кода программного обеспечения доступна в формате tar.gz. Из этого можно предположить, что tar. gz - это форма хорошо известного формата .tar, который используется для архивирования.
В Ubuntu, с другой стороны, формат файла .deb больше похож на файл .exe в windows. Когда вы открываете его, центр программного обеспечения обрабатывает его код и устанавливает содержащуюся в нем программу, такую как исполняемый файл.
Даже если вы по-прежнему можете устанавливать программное обеспечение и пакеты из исходного формата (tar.gz), наиболее подходящим форматом для установки программного обеспечения является .deb. Возьмем, к примеру, Ubuntu Software Center; все приложения, которые он содержит, на самом деле являются файлами .deb. В целом, в linux почти каждый формат файла (включая .deb и tar.gz, а также хорошо известные файлы bash .sh) может вести себя как исполняемый файл, так что вы можете установить пакеты или программное обеспечение с этим.
источник
В Windows нет эквивалента расширению exe, указывающему на то, что файл является исполняемым. Вместо этого исполняемые файлы могут иметь любое расширение и, как правило, вообще не иметь расширения .
Linux / Unix использует права доступа к файлам , чтобы указать , если файл может быть выполнен. В частности, есть разрешение на выполнение файла, которое сообщает системе, что этот файл разрешено выполнять. Однако отсутствие этого разрешения не означает, что файл не является исполняемым; просто, что соответствующий пользователь не имеет права пытаться выполнить его. Точно так же наличие этого разрешения не всегда указывает на то, что файл является допустимым исполняемым файлом.
Linux / Unix имеет двоичный формат исполняемых файлов, называемый ELF, который эквивалентен двоичным исполняемым форматам PE (Windows) или MZ / NE (DOS), которые обычно имеют расширение .exe.
Тем не менее, другие типы файлов могут быть исполняемыми, в зависимости от оболочки. Как правило, если вы пытаетесь выполнить файл, который система не распознает как двоичный исполняемый файл (например, формат ELF), то он интерпретируется текущим интерпретатором оболочки. Это выполняет тот же эффект, что и пакетные файлы в Windows или DOS, за исключением того, что опять-таки это не расширение, которое определяет его тип или способ его выполнения.
Файлы оболочки могут необязательно начинаться с хеш-бенга (первые два символа в файле
#!
сопровождаются путем к интерпретатору), и в этом случае вместо интерпретации остальной части файла с помощью текущего интерпретатора оболочки он может запустить альтернативную оболочку или интерпретатор для выполнить файл. Таким образом, вы можете иметь сценарий на любом интерпретируемом языке и при этом запускать его с правильным интерпретатором при попытке выполнения сценария.источник
Файлы EXE и DLL являются переносимыми исполняемыми файлами. Они основаны на Unix-файлах PE / COFF.
Прочитайте http://en.wikipedia.org/wiki/Portable_Executable для получения дополнительной информации.
В Ubuntu у вас нет определенного расширения для исполняемого файла. Обычно это файлы, которые названы в честь приложения, к которому они относятся.
Важным фактором является то, что в этих файлах установлен исполняемый бит. Если у вас есть цветной терминал, вы заметите, что это другой цвет при использовании
ls
.В файловой системе Unix бинарные исполняемые файлы обычно хранятся в собственном месте.
тогда как другие ресурсы приложения могут храниться в / usr / lib / или / usr / share /
Файл deb более корректно соответствует файлу msi в windows (то есть установщику пакета).
Обычно файлы tar.gz или bz2 содержат исходный код, из которого можно построить приложение
источник
Ubuntu, эквивалентный файлу .exe / .com, является файлом без расширения, обычно для удобства добавляются некоторые расширения, такие как .bin, .run и т. Д.
Существует несколько альтернатив для файла .bat (почти для всех файлов), наиболее популярным является .sh
.deb - это просто архив двоичных файлов (аналогично .msi в windows) с Debian Standerds
.tar.gz - это обычный формат архивации, используемый в Ubuntu.
источник
Любое имя файла может быть установлено на исполняемый файл независимо от расширения, но файл должен иметь соответствующий набор разрешений. Разрешение можно получить, щелкнув правой кнопкой мыши файл в Nautilus, выбрав Свойства и отметив флажок «Разрешить выполнение файла как программы»:
источник
.deb Debian Package для Linux и TAR архив, сжатый стандартным алгоритмом сжатия zu (gzip) GNU; содержит один или несколько сжатых файлов; обычно используется в операционных системах Unix для упаковки файлов, программ и установщиков.
ПРИМЕЧАНИЕ . Файлы TAR.GZ должны быть сначала распакованы, а затем расширены с помощью утилиты TAR. Они включают оба типа файлов .TAR и .GZ.
источник