Linux Programm-Dateiendung?

9 Antworten

Die Dateiendung ist egal da Linux nicht nach der Dateiendung geht ob etwas ausführbar ist oder nicht sondern darüber ob ein sogenannter X-Bit gesetzt ist der eine Datei als ausführbar kennzeichnet. Oft haben ausführbare Dateien dort garkeine Dateiendung.

Auch deine annehme über Windows und Mac sind nicht ganz richtig.
.app ist an für sich auch keine ausführbare Datei sondern nur ein Verzeichnis in der sich alle relevante Dateien wie Bibliotheken uä. befinden und auch die eigentlich auszuführende Datei die genau wie unter Linux mit einem X-Bit als solche gekennzeichnet ist.
Unter Windows gibt es auch noch andere Dateien außer .exe die ausführbar sind.

Linux allgemein verwendet da eine ganz andere Grundlage: Dort gibt die Endung nur an mit welchem anderen Programm diese Datei geladen wird, Beispielsweise eine .zip wird dann mit einem Unzipper geöffnet. Die Unzipper-Anwendung selbst hat keine Endung, diese besitzt nur die Eigenschaft, ob sie selbst ausführbar ist (X-Bit, siehe Beitrag Nemesis900)

Weit verbreitet ist die Endung SH, welche eine Script-Datei kennzeichnet, welche dann über bash abgearbeitet wird, ähnlich wie Batch unter Windows.


NoHumanBeing  03.12.2016, 18:30

Linux allgemein verwendet da eine ganz andere Grundlage: Dort gibt die Endung nur an mit welchem anderen Programm diese Datei geladen wird, Beispielsweise eine .zip wird dann mit einem Unzipper geöffnet.

Teilweise verwendet Linux auch den MIME-Typ einer Datei, um festzustellen, mit welcher Anwendung sie geöffnet wird. Das war insbesondere früher bei den meisten Desktopumgebungen der Fall. Heutzutage verwenden sie (aus welchem Grund auch immer) hierfür meist tatsächlich die Dateiendung.

Binärdateien (auch ausführbare Dateien) haben beispielsweise den MIME-Typ "application/octet-stream", einfache Textdateien haben "text/plain" und PNG-Bilder haben "image/png".

Der MIME-Typ wird in der Regel nicht anhand der Endung festgestellt, sondern entweder anhand des Dateiinhalts ermittelt oder auch als separates Metadatum im Dateisystem hinterlegt. Er bleibt dann auch bei einer Umbenennung der Datei (hier z. B. von ".zip" nach ".png") erhalten.

$ file --mime-type test.zip
test.zip: application/zip
$ mv test.zip test.png
$ file --mime-type test.png
test.png: application/zip
$
0

Die haben meist nicht speziell eine endung. Ausnahmen gibts zb dann bei java aber die programme musst du ja sowieso über nen anderen interpreter starten. Würde theoretisch auch mit x beliebiger endung gehen

Ausführbare Dateien haben im Dateisystem das (bzw. mindestens ein, meist aber alle) "+x"-Flag(s) gesetzt.

Die Dateien haben meist keine Endung.

Gar nichts, Linux sind die Dateiendungen egal, die sind nur für menschliche Nutzer von Bedeutung.

Die Datei muss als ausführbar gekennzeichnet sein.


joernius  10.03.2019, 22:15

aber: Kommt ein doofer Programmierer und programmiert eine Anwendung, welcher die Endung auswertet ... und nennt es stolz MIME

0