Я не знаю, каково точное расширение исполняемого файла. Это .deb
или .tar.gz
?
Расширение для Linux | Эквивалент Windows | Краткое описание |
---|---|---|
.итак, .o | .dll | Объект, который может быть загружен во время выполнения (аналогично DLL) |
.а | .lib | Статическая библиотека |
[нет], .эльф (редкий), | .exe, .com(редко) | Исполняемые файлы Linux |
.мусорное ведро(редкое) | ||
.ш | .летучая мышь | Сценарий оболочки |
.exe | .exe | Моно-приложение, винное приложение |
.д | .msi | Установочный пакет для выпусков Debian/Ubuntu |
(Хотя .deb намного мощнее благодаря встроенной поддержке зависимостей и репозиториев). Обратите внимание, что.deb на самом деле представляет собой архив .tar со специальным управляющим файлом, особым порядком файлов и другим расширением. | ||
.обороты в минуту | .msi | Установочный пакет для выпусков RedHat/CentOS. |
.tar.gz , .tar, .gz | .застежка-молния | Сжатые файлы, которые могут содержать программу или любые другие данные, такие как изображения, документы и т.Д |
.в | .система | Драйверы и модули ядра загружаются в ядро Linux и имеют больший доступ к оборудованию, чем другие программы. |
.sh, .php, .py и т.Д | .bat, .cmd, .vbs, | Linux способен запускать любой файл, для которого у него есть интерпретатор. |
.js | Строка в верхней части файла, называемая shebang, указывает, с помощью какого интерпретатора запускать файл. | |
Windows поддерживает только файлы .bat и .cmd в качестве пакетных файлов, а также .vbs (vbscript) и .js (JScript, не путать с JavaScript) через Windows Script Host (WSH). |
В Windows нет стандартного расширения файла, такого как файл ".exe".
В Linux почти любой файл может быть исполняемым.Окончание файла просто описывает (но не обязательно), что или как файл "выполняется".
Например, сценарий оболочки заканчивается на .sh и "выполняется" через оболочку bash.
В вашем вопросе вы запрашиваете .deb и .tar.gzWell, файл .deb устанавливает программное обеспечение в вашей системе (пожалуйста, будьте осторожны!)И то .tar.gz файл - это сжатый файл типа zip, который вы могли бы узнать из Windows.
Концепция исполняемого файла в unix/Linux отличается от Windows.
Окна
Все, что заканчивается .exe
или .com
становится исполняемым файлом.
Linux/Unix
Каждый файл имеет исполняемый бит, поэтому какой-нибудь файл может быть выполнен, в отличие от Windows. Чтобы узнать, является ли файл исполняемым, вы можете проверить его свойства (вкладка Разрешений) или даже просмотреть их, помеченные в терминале (все они отмечены знаком *).
Даже текстовые файлы (например, сценарии оболочки) могут иметь установленные исполняемые биты и запускаться как единое целое.
Чтобы узнать, как операционная система UNIX считает тип конкретного файла, вы используете команду file:
$ file /bin/ls/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, for OpenBSD, statically linked, stripped
В приведенном выше примере я даю путь к программе 'ls', который вы должны заменить путем к вашему файлу.
Файл сценария будет выглядеть следующим образом:
$ file script.shscript.sh: Bourne-Again shell script text
Случайный текстовый файл:
$ file textfiletextfile: ASCII text
Архивный файл:
$ file rsync-3.0.6.tar.gzrsync-3.0.6.tar.gz: gzip compressed data, from Unix
Он даже достаточно умен, чтобы правильно идентифицировать программу Windows, если она случайно окажется у вас в UNIX-ящике:
$ file FMZsetup.exeFMZsetup.exe: MS-DOS executable (EXE), OS/2 or Windows
И когда он не может определить, что такое файл (но может его открыть), он называет его данными:
$ file myrandommyrandom: data
Выполнение файла в Linux вообще не связано с именем или расширением файла. Потенциально может быть выполнен любой файл при условии, что он обрабатывается ядром binfmt
механизм (и что для его исполняемого файла установлены разрешения).
Наиболее распространенным форматом для исполняемого файла является эльф, хотя некоторые ядра могут быть скомпилированы для поддержки старого a.out
формат. (Для получения полной технической информации, binfmt_elf.c
есть где искать.)
Другим распространенным механизмом является "Шебанг" система, управляемая binfmt_script
, который ищет #!/path/to/interpreter
в начале файла.
binfmt_misc
позволяет регистрировать других обработчиков, как это задокументировано здесь.
Если вы хотите немного поработать с программированием ядра, вы даже можете напишите свой собственный.
Хотя это и не связано напрямую, file
команда должна сообщить вам, является ли файл исполняемым файлом ELF или чем-то другим.
Соглашение об именовании не имеет ничего общего со статусом исполняемого файла (за исключением случаев, когда оно используется для binfmt_misc
регистрация). Это просто условности. Как правило, в .exe
файл, найденный в Linux, может быть моно-приложение, получая .exe
расширение как соглашение, пришедшее из мира Windows / .Net.
Другой аспект, который может произойти, когда вы хотите "запустить" файл, заключается в том, чтобы инструмент проводника файлов, который вы используете, регистрировал расширения, чтобы иметь возможность запускать программу, которая откроет эти файлы. Это то, что произойдет, если вы дважды щелкните по .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) могут вести себя как исполняемый файл, так что вы можете устанавливать пакеты или программное обеспечение с его помощью.
Не существует эквивалента exe расширение файла в Windows, указывающее, что файл является исполняемым. Вместо этого исполняемые файлы могут иметь любое расширение и обычно имеют никакого расширения вообще.
Linux/Unix использует права доступа к файлам чтобы указать, является ли файл мочь быть казненным. В частности, существует выполнять разрешение на доступ к файлу, которое сообщает системе, что этот файл является разрешено быть казненным. Однако отсутствие этого разрешения не указывает на то, что файл не является исполняемым; просто соответствующий пользователь не является разрешено чтобы попытаться выполнить его. Аналогичным образом, наличие этого разрешения не всегда указывает на то, что файл является допустимым исполняемым файлом.
Linux / Unix имеет двоичный формат исполняемого файла под названием ELF, который эквивалентен двоичным форматам исполняемых файлов PE (Windows) или MZ/ NE (DOS), которые обычно имеют расширение .exe
Однако другие типы файлов могут быть исполняемыми, в зависимости от оболочки. Как правило, если вы пытаетесь выполнить файл, который система не распознает как двоичный исполняемый файл (например, формат ELF), то он интерпретируется текущим интерпретатором оболочки. Это дает тот же эффект, что и пакетные файлы в Windows или DOS, за исключением того, что, опять же, не расширение определяет его тип или способ его выполнения.
Файлы оболочки могут необязательно начинаться с хэш-символа (первые два символа в файле - #!
за которым следует путь к интерпретатору), и в этом случае вместо того, чтобы интерпретировать остальную часть файла с помощью текущего интерпретатора оболочки, он может запустить альтернативную оболочку или интерпретатор для выполнения файла. Таким образом, вы можете иметь сценарий в какой-нибудь интерпретируемый язык и по-прежнему запускать его с правильным интерпретатором при попытке выполнить сценарий.
EXE- и DLL-файлы являются переносимыми исполняемыми файлами. Они основаны на файлах PE/COFF unix.
Прочитай http://en.wikipedia.org/wiki/Portable_Executable для получения дополнительной информации.
В Ubuntu у вас нет определенного расширения для исполняемого файла. Как правило, это файлы, которые также названы в честь приложения, к которому они относятся.
Важным фактором является то, что у этих файлов установлен исполняемый бит. Если у вас есть цветной терминал, вы заметите, что они имеют другой цвет, когда перечислены с помощью ls
.
В файловой системе unix двоичные исполняемые файлы обычно хранятся в собственном расположении.
- /bin (основные двоичные файлы)
- /sbin (системные двоичные файлы)
- /usr/bin (двоичные файлы приложения)
в то время как другие ресурсы приложения могут храниться в /usr/lib/ или /usr/share/
Файл deb более корректно соответствует файлу msi в Windows (т.е. установщику пакетов).
В целом tar.gz файлы или файлы bz2 содержат исходный код, из которого может быть создано приложение
Ubuntu equallant файла .exe / .com - это файл без расширения, обычно к нему добавляются некоторые расширения, такие как .bin ,.run и т.д. Для удобства
существует несколько альтернатив для файла .bat (почти все файлы), наиболее популярным из которых является .sh
.deb - это просто архив двоичных файлов (аналогичный .msi в Windows) со стандартами debian
.tar.gz это просто обычный формат архивирования, используемый в ubuntu
Любое имя файла может быть установлено в качестве исполняемого независимо от расширения, но для файла должно быть установлено соответствующее разрешение. Разрешение можно предоставить, щелкнув правой кнопкой мыши файл в Nautilus, выбрав пункт Свойства и установив флажок "Разрешить выполнение файла как программы".:
@tijybba Философия дизайна “все - это файл” ** совершенно не связана ** с расширениями .exe
, которые не требуются для собственных исполняемых файлов. Первое объясняет содержимое /dev
; второе связано с разрешениями на выполнение * и зависимостью от изучения внутренней части файла, чтобы определить, что это за файл.
Не ответ, но хотел бы добавить ** ВСЕ в LINUX - это ФАЙЛ **, поэтому наличие расширений в виде .exe никогда не имеет значения.
@tijybba, но “все”, являющееся файлом, на самом деле не имеет никакого отношения к теме этого вопроса, не так ли?
Я предполагаю, что я неправильно истолковал ту часть вопроса, в которой говорится: “что такое ** exe ** файл в Ubuntu?”, я рассматривал ** Исполняемый файл **, но теперь с вашей нетерпеливой помощью, похоже, это означало "что такое **.exe ** файл в Ubuntu? ". Если это крайне неуместно, дайте мне знать, я был бы рад удалить его.(Ошибки - это отличный опыт обучения: D ).
@ Eliah Kagan - Это была просто базовая информация, поскольку в Windows расширение необходимо для выполнения, а в Linux это не так, что касается * Исполняемых разрешений *, для этого требуется немного больше знаний о доступе пользователя к Sudo и скрытых проблемах безопасности, которые, как я предполагал, кто-то разъяснит в ответе как его последняя часть, если она вообще нужна, поэтому я разместил ее как комментарий, а не как ответ.