Jak uruchomić plik .exe z wiersza polecenia systemu Linux


27

Jestem nowy w Linuksie. Obecnie próbuję napisać wiersz polecenia, który powinien wykonać * .exe w folderze abc.

próbowałem

% cd abc info.exe

Ale błąd mówi no such file or directory.

Jakieś sugestie?

Odpowiedzi:


30

próbować:

abc/info.exe

ale jeśli tak naprawdę jest to program Windows, musisz zainstalować program „wine”, a następnie:

wine abc/info.exe

ale tylko niektóre programy Windows będą działały pod Wine.


10

Ta odpowiedź łączy w sobie inne odpowiedzi na to pytanie.

Plik info.exe zostanie uruchomiony w systemie Linux lub Windows, ale nie w obu.

Wykonuje się w systemie Windows

Jeśli plik jest plikiem systemu Windows, nie będzie działał sam w systemie Linux. W takim przypadku możesz spróbować uruchomić go w emulatorze systemu Windows (WINE). Jeśli nie jest kompatybilny z winem, nie będzie można go uruchomić pod Linuksem.

Zanim zaczniesz, musisz zainstalować wino. Kroki, które musisz zainstalować, będą się różnić w zależności od platformy Linux, na której jesteś. Prawdopodobnie możesz google „Ubuntu install wine”, jeśli na przykład instalujesz Ubuntu.

Po zainstalowaniu wina będziesz mógł wykonać te polecenia.

cd abc/
wine info.exe

Wykonaj w systemie Linux

jeśli znasz ten plik do działania pod Linuksem, będziesz chciał wykonać następujące polecenia:

Przejdź do katalogu abc

cd abc/

Następnie będziemy chcieli zmienić uprawnienia, aby umożliwić do użytkowników ll do E x ecute tego pliku (a + x).
można też pozwolić tylko u ser do e x ecute (u + x)

chmod a+x info.exe

Po uruchomieniu programu ./ mówi wierszowi poleceń, aby sprawdził bieżącą ścieżkę pliku do wykonania (jeśli katalog „bieżący” nie znajduje się w zmiennej środowiskowej $ PATH).

./info.exe

7

nie możesz :) exe to tylko Microsoft. teraz, jeśli posiadasz plik wykonywalny Linuksa, możesz:

cd folder
chmod +x file
./file

8
Ogólnie jest to nieprawda. Wiele plików EXE systemu Windows i DOS można uruchomić w systemie Linux przy użyciu emulatorów, takich jak winelub dosbox.
Susam Pal

1
Czy prosty program C / C ++ (wykorzystujący matematykę tablicową i „printf ()”) skompilowany w VS 2017 będzie działał w DosBox?
Royi

6

W systemie Linux przyznajesz plikowi uprawnienia do wykonywania. To nie rozszerzenie określa, czy można go wykonać (jak w systemie Windows).

Zakładając, że masz prawidłowy plik, który można wykonać w systemie Linux (nie plik systemu Windows / DOS), wykonaj następujące czynności:

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

Zauważ, że potrzebujesz wiodącego pliku ./, aby powłoka znalazła plik w bieżącym katalogu!

To naprawdę należy do superużytkownika.


1
Czy mógłbyś mi wyjaśnić. Co próbujesz zrobić jako Im nowy

2
Pierwszy wiersz zmienia katalog, drugi informuje Linuksa, że ​​jest wykonywalny, trzeci uruchamia program.
Byron Whitlock,

3

Niedawno chciałem uruchomić niektóre stare pliki MSDOS .exe i mogłem po prostu użyć dosbox. Na Ubuntu było po prostu

apt-get install dosbox

następnie

dosbox file.exe


och, jest to szczególne obejście, ale dotyczy plików wykonywalnych msdos.
Francisco Tapia,

2

.exes to generalnie pliki wykonywalne Windows, a nie Linux. Aby je uruchomić, użyj czegoś takiego jak WINO.

W przeciwnym razie, aby uruchomić plik wykonywalny Linuksa, istnieje wiele sposobów, np .:

  1. cd abc; ./info.exe
  2. ./abc/info.exe
  3. /full/path/to/abc/info.exe
  4. Dodaj „abc” do ŚCIEŻKI, a następnie uruchom go jak zwykłe polecenie. ...

Walczyłem tak długo, aż znalazłem tę stronę internetową i skorzystałem z sekcji „Terminal” ze wskazówkami na dole strony: winehq.org/download/ubuntu

1

Wine to program, który można zainstalować, to program do uruchamiania plików .exe w systemie Linux.

apt-get install wine

(przejdź do katalogu pliku: / cd (np. Desktop /) I otwórz plik .exe:

PROGRAM WINA [AGRUMENTY]

Wszelkie problemy z winem, które możesz zrobić: wine --help

Tak próbowałem i działa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.