Что эквивалентно файлу & ldquo; exe-файла??

Я не знаю точное расширение исполняемого файла. Это .deb или .tar.gz?

47
задан 8 December 2017 в 11:09

11 ответов

В Windows нет стандартного File-Extention, такого как «.exe».

В Linux почти любой файл может быть исполняемым. Окончание файла просто описывает (но не обязательно), что или как файл «исполняется».

Например, скрипт оболочки заканчивается на .sh и «выполняется» через оболочку bash.

В своем вопросе вы спрашиваете .deb и .tar.gz. Хорошо. Файл .deb устанавливает программное обеспечение в вашей системе (пожалуйста, будьте осторожны!), А файл .tar.gz представляет собой сжатый файл, такой как .zip, мог знать из Windows.

0
ответ дан 8 December 2017 в 11:09

Я бы описал систему следующим образом:

Linux extension    |Windows Equivalent    |Short description
------------------------------------------------------------
.so, .o            | .dll                 | Object that can be loaded at runtime (Similar to DLL)
.a                 | .lib                 | Static library
[none], .elf(rare) | .exe, .com(rare)     | Linux executables
    .bin(rare)     |                      |
.sh                | .bat                 | Shell script
.exe               | .exe                 | Mono application, Wine application
.deb               | .msi                 | Installer package for Debian/Ubuntu releases
                   |                      |     (Though .deb is much more powerful with 
                   |                      |     native support for dependencies and repos). Note that .deb is actually a .ar archive with a special control file, a special file order, and a different extension.
.rpm               | .msi                 | Installer package for RedHat/CentOS releases.
.tar.gz, .tar, .gz | .zip                 | Compressed files that can contain a program or any other data, like images, documents, etc
.ko                | .sys                 | Drivers and kernel modules are loaded into the Linux kernel and have more hardware access than other programs.
.sh, .php, .py, etc| .bat, .vbs           | Linux is capable of running any file that it has an interpreter for. 
                   |                      |   A line at the top of the file called the shebang specifies what interpreter to run the file with. 
                   |                      |   Windows only really runs .bat files in this way.

Любой файл, начинающийся с #! (называемый шебанг или хэшбанг) ​​в первой строке, является просто сценарием. Путь после шебанга - это путь к программе (исполняемой программе), которая должна проанализировать скрипт, при условии, что разрешение на выполнение было установлено для файла с помощью chmod a+x filename.

Поэтому, ответьте на свой первоначальный вопрос, расширения нет, или редко, это .elf или .bin.

Это сделано вики-сообществом, поэтому любой может добавить запись.

0
ответ дан 8 December 2017 в 11:09

Концепция исполняемого файла отличается в Unix / Linux от Windows.

Windows

Все, что заканчивается на .exe или .com, становится исполняемым файлом.

Linux / Unix

Каждый файл имеет исполняемый бит, поэтому любой файл может быть выполнен, в отличие от Windows. Чтобы проверить, является ли файл исполняемым, вы можете проверить его свойства (вкладка «Разрешения») или даже увидеть их помеченные в терминале (все они отмечены *).

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

0
ответ дан 8 December 2017 в 11:09

Чтобы выяснить, что операционная система UNIX думает о типе конкретного файла, вы используете команду file:

$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, for OpenBSD, statically linked, stripped

В приведенном выше примере я даю путь к программе 'ls', вы заменит путь вашего файла.

Файл сценария будет выглядеть следующим образом:

$ file script.sh
script.sh: Bourne-Again shell script text

Случайный текстовый файл:

$ file textfile
textfile: ASCII text

Архивный файл:

$ file rsync-3.0.6.tar.gz
rsync-3.0.6.tar.gz: gzip compressed data, from Unix

Это даже умный Достаточно для правильной идентификации программы Windows, если у вас есть одна, лежащая на вашем компьютере UNIX:

$ file FMZsetup.exe
FMZsetup.exe: MS-DOS executable (EXE), OS/2 or Windows

И когда она не может понять, что это за файл (но может открыть его) называет это данными:

$ file myrandom
myrandom: data
0
ответ дан 8 December 2017 в 11:09

Выполнение файла в Linux вообще не связано с именем или расширением файла. Любой файл может быть потенциально выполнен при условии, что он обрабатывается механизмом ядра binfmt (и установлены его права на выполнение).

Наиболее распространенным форматом для исполняемого файла является ELF , хотя некоторые ядра могут быть скомпилированы для поддержки старого формата 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, например: файлы не являются ни исполняемыми, ни исполняемыми, но то, что вы используете для двойного щелчка, выбирает, какой исполняемый файл нужно открыть, чтобы открыть эти файлы.

0
ответ дан 8 December 2017 в 11:09

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

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

В Ubuntu, с другой стороны, формат файла .deb больше похож на файл .exe в windows. Когда вы открываете его, центр программного обеспечения обрабатывает его код и устанавливает содержащуюся в нем программу, такую ​​как исполняемый файл. файл.

Несмотря на то, что вы все еще можете устанавливать программное обеспечение и пакеты из исходного формата (tar.gz), лучше всего подходит для установки программного обеспечения .deb one. Возьмем, к примеру, Ubuntu Software Center; все приложения, которые он содержит, на самом деле являются файлами .deb. В целом, в linux почти каждый формат файла (включая .deb и tar.gz, а также хорошо известные файлы bash .sh) может вести себя как исполняемый файл, так что вы может установить пакеты или программное обеспечение с этим.

0
ответ дан 8 December 2017 в 11:09

В Windows нет эквивалента расширению exe , указывающему на то, что файл является исполняемым. Вместо этого исполняемые файлы могут иметь любое расширение и, как правило, вообще не имеют расширения .

Linux / Unix использует права доступа к файлу , чтобы указать, может ли файл выполняться . В частности, существует разрешение на файл execute , которое сообщает системе, что этот файл разрешен для выполнения . Однако отсутствие этого разрешения не означает, что файл не является исполняемым; просто что соответствующему пользователю не разрешено пытаться выполнить его. Точно так же наличие этого разрешения не всегда указывает на то, что файл является допустимым исполняемым файлом.

Linux / Unix имеет двоичный формат исполняемых файлов, называемый ELF, который эквивалентен двоичным исполняемым форматам PE (Windows) или MZ / NE (DOS), которые обычно имеют расширение .exe

Однако, другие Типы файлов могут быть исполняемыми, в зависимости от оболочки. Как правило, если вы пытаетесь выполнить файл, который система не распознает как двоичный исполняемый файл (например, формат ELF), то он интерпретируется текущим интерпретатором оболочки. Это выполняет тот же эффект, что и командных файлов в Windows или DOS, за исключением того, что опять-таки это не расширение, которое определяет его тип или способ его выполнения.

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

0
ответ дан 8 December 2017 в 11:09

Файлы EXE и DLL являются переносимыми исполняемыми файлами. Они основаны на Unix-файлах PE / COFF.

Прочитайте http://en.wikipedia.org/wiki/Portable_Executable для получения дополнительной информации.

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

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

В файловой системе Unix двоичные исполняемые файлы обычно хранятся в собственном месте.

  1. / bin (основные двоичные файлы)
  2. / sbin (системные двоичные файлы)
  3. / usr / bin (двоичные файлы приложения)

, тогда как другое приложение ресурсы могут храниться в / usr / lib / или / usr / share /

Файл deb более корректно соответствует файлу msi в windows (т.е. установщик пакета).

Как правило, файлы tar.gz или bz2 содержат исходный код, из которого может быть построено приложение

0
ответ дан 8 December 2017 в 11:09

Эквивалент Ubuntu для файла .exe / .com - это файл без расширения, обычно для удобства добавляются некоторые расширения, такие как .bin, .run и т. Д.

Есть несколько альтернатив для файла .bat (почти все файлы ), наиболее популярным является .sh

.deb - это просто архивные двоичные файлы (аналогично .msi в windows) с Debian Standerds

.tar.gz - это просто распространенный формат архивирования используется в Ubuntu

0
ответ дан 8 December 2017 в 11:09

Любое имя файла может быть установлено на исполняемый файл независимо от расширения, но для файла должны быть установлены соответствующие разрешения. Разрешение можно получить, щелкнув правой кнопкой мыши файл в Nautilus, выбрав Свойства и отметив флажок «Разрешить выполнение файла как программы»:

menu item showing Execute: -checkbox- Allow executing file as program

0
ответ дан 8 December 2017 в 11:09

.deb Пакет Debian для Linux и архив TAR, сжатый по стандартному алгоритму сжатия zu (gzip) GNU; содержит один или несколько сжатых файлов; обычно используется в операционных системах Unix для упаковки файлов, программ и установщиков.

ПРИМЕЧАНИЕ. : Файлы TAR.GZ должны быть сначала распакованы, а затем расширены с использованием утилиты TAR. Они включают в себя типы файлов .TAR и .GZ.

0
ответ дан 8 December 2017 в 11:09

Другие вопросы по тегам:

Похожие вопросы: