Что эквивалентно & ldquo; exe file & rdquo ;?

Просто вставьте

pointer = 1 2 3 5 4 6 7 8 9 10 11 12

в файл с именем: .Xmodmap и сохраните его в своей домашней папке :) Не забудьте выйти из системы и вернуться в

1
задан 8 December 2017 в 12:09

10 ответов

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

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.

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

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

, предполагая, что разрешение на выполнение было установлено в файле с помощью chmod a+x filename. [ ! d4]

59
ответ дан 25 May 2018 в 09:38
  • 1
    Я никогда не видел расширение .elf, но часто видел расширение .bin. – Calmarius 23 August 2014 в 02:36
  • 2
    В то время как другие ответы сосредоточены на том, что «любой» файл может быть исполняемым, этот ответ действительно попадает в гвоздь на голове, тогда как «что-то» может быть исполняемым, на самом деле не информативным или истинным, а скорее исключительным. Я мог бы переименовать любой файл в windows в .exe, и он попытается выполнить его, но не обязательно будет работать, в linux его же, если он не предназначен для выполнения, его не будет работать ... Моя проблема много раз загружает пакет и не понимает, с чего начать, но, конечно же, rtfm. – TrySpace 21 May 2015 в 09:57
  • 3
    Вы должны добавить расширение .bin (как Windows, эквивалентное .exe) – Dani-Br 25 June 2015 в 15:53
  • 4
    @ Dani-Br Это сообщение сообщества-вики, означающее, что другие могут его редактировать, и у вас достаточно репутации, чтобы сделать это (на уровне 101). На данный момент я добавил .bin. – hexafraction 25 June 2015 в 16:46

Концепция исполняемого файла отличается от unix / linux, чем Windows.

Windows

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

Linux / Unix

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

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

24
ответ дан 25 May 2018 в 09:38
  • 1
    также стоит добавить, что в случае текстовых файлов shebang (например, #!/bin/bash) в начале файла устанавливает, какая программа выполняет файл. – jackweirdy 27 June 2012 в 00:32
  • 2
    Отдельные исполняемые биты существуют для пользователя, группы и других. Использование этих битов может ограничить, кто может выполнить программу. Существуют дополнительные биты для SUID и SGID, чтобы заставить программу работать как пользователь или группа, которая владеет файлом. – BillThor 27 June 2012 в 08:03
  • 3
    Существуют некоторые неточности выше: 2) «у каждого файла есть исполняемый бит»: есть три исполняемых бита (владелец, группа и другие), поэтому можно позволить себе, а не другим, выполнять файл. Также имеется бит setuid для «execute-as-owner». и setgid "execute-as-group". 2) «любой файл может быть выполнен»: не так. биты разрешения являются необходимым, но недостаточным условием для успешного выполнения файла. Немедленный сбой произойдет, например, если файл не может быть фактически загружен и запущен (Ref: номера магии файла man magic, ELF man elf и строка hash-bang man execve) – arielf 2 June 2016 в 03:36

Чтобы узнать, что в операционной системе 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
15
ответ дан 25 May 2018 в 09:38
  • 1
    На самом деле не ответ, но хороший ответ «ответ». – dlin 27 June 2012 в 00:37

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

Наиболее распространенным форматом для исполняемого файла является ELF, хотя некоторые ядра могут быть скомпилированы для поддержки старого формата a.out. (Для получения полной технической информации, binfmt_elf.c, где искать.)

Другим распространенным механизмом является система ELF , обрабатываемая binfmt_script, которая ищет #!/path/to/interpreter в начало файла.

binfmt_misc позволяет зарегистрировать другие обработчики, как описано в binfmt_elf.c .

Если вы хотите немного поработать ядро binfmt_misc .

Хотя это не связано напрямую, команда file должна сообщать вам, является ли файл исполняемым файлом ELF или что-то еще. [ ! d11]

Соглашение об именах не имеет ничего общего с исполняемым статусом файла (кроме случаев, когда он используется для регистрации binfmt_misc). Это просто конвенции. Как правило, файл .exe, найденный в Linux, может быть монофоническим приложением, получая расширение .exe как соглашение, исходящее из мира Windows / .Net.

Другой аспект, который может произойти, когда вы хотите «запустить» файл должен иметь средство проводника файлов, в котором вы используете расширения для реестров, чтобы иметь возможность запускать программу, которая откроет эти файлы. Это произойдет, если вы дважды щелкните по файлам .txt, .tar.gz или .deb, например: файлы не исполняются и не выполняются, но то, что вы используете для двойного щелчка, выбирает, какой исполняемый файл запускается, чтобы открыть эти файлы.

9
ответ дан 25 May 2018 в 09:38
  • 1
    Я думаю, что это лучше, как комментарий на стороне одного из более всеобъемлющих ответов. – hexafraction 13 August 2012 в 17:27
  • 2
    @ObsessiveFOSS, но заслуживает ли это downvote? Никто не упомянул моно перед моим ответом. В этом нет никакого ответа о том, как действительно исполняются исполняемые файлы Linux (см. Мой комментарий о binfmt на принятом ответе). – Bruno 13 August 2012 в 18:03
  • 3
    Я не спускался вниз. Я чувствовал, что голосование должно оставаться таким, как есть. – hexafraction 13 August 2012 в 18:04
  • 4
    @ObsessiveFOSS, никаких проблем. Я также заметил, что вопрос был отредактирован, так как я ответил на него, немного изменив его смысл (я понял это изначально как «У меня есть файл exe, я не могу его запустить ...») и сделать мой ответ менее уместен. – Bruno 13 August 2012 в 18:09
  • 5
    ОК. Нет проблем. – hexafraction 13 August 2012 в 18:11

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

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

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

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

3
ответ дан 25 May 2018 в 09:38
  • 1
    Я бы скорее сравнил файлы .deb в Debian-производных системах с файлами .msi для Microsoft Installer ... – MvG 27 June 2012 в 00:42
  • 2
    это верно! :) – dlin 27 June 2012 в 01:23

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

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

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

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

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

2
ответ дан 25 May 2018 в 09:38
  • 1
    Ой, я тоже почти ответил на это. Посмотрите на дату, этот пост - динозавр. – Tamsyn Michael 25 June 2015 в 20:11

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

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

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

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

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

/ bin (базовые двоичные файлы) / sbin (системные двоичные файлы) / usr / bin (двоичные файлы приложений)

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

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

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

1
ответ дан 25 May 2018 в 09:38

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

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

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

.tar.gz - это просто общий формат архивации, используемый в ubuntu

0
ответ дан 25 May 2018 в 09:38

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

0
ответ дан 25 May 2018 в 09:38
  • 1
    Я хотел бы указать, что любое имя файла может быть выполнено исполняемым, а не любым типом файла в качестве фразы «Любой файл», кажется, указывает. редактирование для ясности. – Elder Geek 24 April 2015 в 04:26

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

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

-3
ответ дан 25 May 2018 в 09:38

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

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