Die Dateiausführung unter Linux hängt überhaupt nicht mit dem Dateinamen oder der Dateierweiterung zusammen. Jede Datei kann möglicherweise ausgeführt werden, vorausgesetzt, sie wird vom binfmt
Mechanismus des Kernels verarbeitet (und die ausführbaren Berechtigungen sind festgelegt).
Das gebräuchlichste Format für ausführbare Dateien ist ELF , obwohl einige Kernel zur Unterstützung des alten a.out
Formats kompiliert werden können . (Vollständige technische Details finden Sie binfmt_elf.c
hier.)
Ein weiterer üblicher Mechanismus ist das "Shebang" -System, binfmt_script
das #!/path/to/interpreter
am Anfang der Datei gesucht wird.
binfmt_misc
ermöglicht die Registrierung anderer Handler, wie hier dokumentiert .
Wenn Sie Lust auf ein bisschen Kernel-Programmierung haben, können Sie sogar Ihre eigene schreiben .
Obwohl nicht direkt verwandt, sollte der file
Befehl Ihnen mitteilen, ob eine Datei eine ELF-ausführbare Datei oder etwas anderes ist.
Die Namenskonvention hat nichts mit dem ausführbaren Status einer Datei zu tun (außer wenn sie für die binfmt_misc
Registrierung verwendet wird). Das sind nur Konventionen. In der Regel handelt es sich bei einer .exe
unter Linux gefundenen Datei um eine Mono-Anwendung , deren .exe
Erweiterung als Konvention aus der Windows / .Net-Welt stammt.
Der andere Aspekt, der auftreten kann, wenn Sie eine Datei "ausführen" möchten, besteht darin, über das Dateiexplorer-Tool zu verfügen, das Sie mit Registererweiterungen verwenden, um ein Programm starten zu können, mit dem diese Dateien geöffnet werden. Dies ist , was auf ein Doppelklick , wenn Sie passieren würde .txt
, .tar.gz
oder .deb
, zum Beispiel: Die Dateien sind nicht ausführbaren Dateien noch ausgeführt, aber was Sie verwenden , wählt einen Doppelklick auf die ausführbare Datei zu starten , um diese Dateien zu öffnen.