Как запустить .exe из командной строки Linux


27

Я новичок в Linux. В настоящее время я пытаюсь написать командную строку, которая должна выполнить * .exe внутри папки abc.

я пытался

% cd abc info.exe

Но ошибка говорит no such file or directory.

Какие-либо предложения?

Ответы:


30

пытаться:

abc/info.exe

но если это действительно программа для Windows, вам нужно установить "wine", затем выполните:

wine abc/info.exe

но только некоторые программы Windows будут работать под Wine.


10

Этот ответ объединяет другие ответы на этот вопрос в один.

Файл info.exe будет выполняться в Linux или Windows, но не в обоих случаях.

Выполняется под Windows

Если файл является файлом Windows, он не будет работать под Linux самостоятельно. Так что, если это так, вы можете попробовать запустить его под эмулятором Windows (WINE). Если он не совместим с Wine, вы не сможете выполнить его под Linux.

Прежде чем начать, вам нужно будет установить Wine. Шаги, необходимые для установки wine, будут зависеть от используемой вами платформы linux. Вы можете, вероятно, гуглить "Ubuntu install wine", если, например, вы устанавливаете Ubuntu.

После того, как вы установили Wine, вы сможете выполнять эти команды.

cd abc/
wine info.exe

Выполнить под Linux

если вы знаете, что этот файл запускается под linux, то вы захотите выполнить эти команды:

Перейдите в каталог abc

cd abc/

Тогда вы хотите изменить права доступа , чтобы Л.Л. пользователей электронного х ecute этого файл (а + х). Вы могли бы также позволить только ˙U ГЭЭ е х ecute (и + х)

chmod a+x info.exe

Запустите программу, ./ заставляет командную строку искать в текущем пути файл для выполнения (если директория 'current' отсутствует в переменной окружения $ PATH.

./info.exe

7

Вы не можете :) exe только Microsoft. Теперь, если у вас есть исполняемый файл Linux, вы можете сделать:

cd folder
chmod +x file
./file

8
Это вообще неверно. Многие ОС Windows и DOS могут быть запущены в Linux с использованием эмуляторов, таких как wineили dosbox.
Susam Pal

1
Будет ли в DosBox работать простая программа на C / C ++ (с использованием массивов математики и 'printf ()'), скомпилированная в VS 2017?
Рой

6

В Linux вы даете файлу права на исполняемый файл. Это не расширение, которое определяет, может ли оно быть выполнено (как в Windows.)

Предполагая, что у вас есть действительный файл, который может быть выполнен в Linux (не файл windows / dos), сделайте следующее:

cd abc
chmod a+x info.exe
./info.exe

Обратите внимание, что вам нужен ведущий ./ для оболочки, чтобы найти файл в текущем каталоге!

Это действительно принадлежит суперпользователю.


1
Не могли бы вы объяснить мне. То, что вы пытаетесь сделать, как я новичок

2
Первая строка изменяет каталог, вторая строка сообщает linux, что он исполняемый, третья запускает программу.
Байрон Уитлок

3

Недавно я хотел запустить несколько старых MSDOS .exe файлов, и я мог просто использовать dosbox. На Ubuntu это было просто

apt-get install dosbox

тогда

dosbox file.exe


о, это особый обходной путь, но он действителен для исполняемых файлов msdos.
Франсиско Тапиа

2

.exes - это обычно исполняемые файлы Windows, а не linux. Чтобы запустить их, используйте что-то вроде WINE.

В противном случае для запуска исполняемого файла Linux существует много способов, например:

  1. CD ABC; ./info.exe
  2. ./abc/info.exe
  3. /full/path/to/abc/info.exe
  4. Добавьте «abc» в PATH, а затем просто запустите его как обычную команду. ...

Я так долго боролся, пока не нашел этот сайт и не воспользовался разделом «Терминал» в нижней части страницы: winehq.org/download/ubuntu

1

Wine - это программа, которую вы можете установить, это программа для запуска .exe файлов в linux.

удачно установить вино

(перейдите в каталог вашего файла: / cd (например: Desktop /) и откройте файл .exe:

Винная программа [AGRUMENTS]

Любые проблемы с вином вы можете сделать: wine --help

Вот так я и пытался, и это работает.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.