Як запустити .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 працюватимуть під вином.


10

Ця відповідь поєднує інші відповіді на це питання в одну.

Файл info.exe буде виконуватися під Linux або Windows, але не обидва.

Виконує під Windows

Якщо файл - це файл Windows, він не запускається під Linux самостійно. Тож якщо це так, ви можете спробувати запустити його під емулятором Windows (WINE). Якщо воно не сумісне з вином, ви не зможете виконати його під Linux.

Перш ніж почати, вам потрібно буде встановити вино. Кроки, необхідні для встановлення вина, залежать від платформи Linux, на якій ви перебуваєте. Ви можете, ймовірно, google "Ubuntu встановити вино", якщо, наприклад, ви встановлюєте ubuntu.

Як тільки ви встановите вино, ви зможете виконати ці команди.

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 EXE можна запустити на Linux за допомогою емуляторів, таких як wineабо dosbox.
Сусам Пал

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

6

У Linux ви надаєте файлу дозволи на виконання файлу. Це не розширення, яке визначає, чи можна його виконати (як у Windows.)

Припустимо, що у вас є дійсний файл, який можна виконати в Linux, (не файл Windows / dos), зробіть це:

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

Зауважте, що вам потрібен ведучий ./ для оболонки, щоб знайти файл у поточному каталозі!

Це, правда, належить суперусер.


1
МОЖЕ, поясніть мені. Що ви намагаєтеся зробити як Im new

2
Перший рядок змінює каталог, другий рядок повідомляє Linux, що він виконується, третій запускає програму.
Байрон Уїтлок

3

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

apt-get install dosbox

потім

dosbox file.exe


о, це конкретний спосіб вирішення, але він дійсний для виконуваних файлів msdos.
Франсіско Тапія

2

.exe - це, як правило, виконувані файли 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.

apt-get встановити вино

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

винна ПРОГРАМА [АГРУМЕНТИ]

Будь-які проблеми з вином ви можете зробити: вино - допомогти

Ось так я і спробував, і це працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.