73 votes

Quel est l'équivalent d'un "fichier exe" ?

Je ne sais pas quelle est l'extension exacte du fichier exécutable. Est-ce que c'est .deb ou .tar.gz ?

107voto

BezantSoft Points 1

Extension Linux

Équivalent Windows

Brève description

.so, .o

.dll

Objet qui peut être chargé au moment de l'exécution (similaire à DLL)

.a

.lib

Bibliothèque statique

[aucun], .elf(rare),

.exe, .com (rare)

Exécutables Linux

.bin(rare)

.sh

.bat

Shell Shell

.exe

.exe

Application Mono, application Wine.

.deb

.msi

Paquet d'installation pour les versions Debian/Ubuntu

(Bien que .deb soit beaucoup plus puissant avec la prise en charge native des dépendances et des dépôts). Notez que .deb est en fait une archive .tar avec un fichier de contrôle spécial, un ordre de fichier spécial et une extension différente.

.rpm

.msi

Paquet d'installation pour les versions RedHat/CentOS.

.tar.gz, .tar, .gz

.zip

Fichiers compressés qui peuvent contenir un programme ou toute autre donnée, comme des images, des documents, etc.

.ko

.sys

Les pilotes et les modules du noyau sont chargés dans le noyau Linux et ont davantage accès au matériel que les autres programmes.

.sh, .php, .py, etc.

.bat, .cmd, .vbs,

Linux est capable d'exécuter tout fichier pour lequel il dispose d'un interpréteur.

.js

Une ligne en haut du fichier appelée shebang spécifie avec quel interpréteur exécuter le fichier.

Windows ne prend en charge que les fichiers .bat et .cmd comme fichiers Batch, et les fichiers .vbs (vbscript) et .js (JScript, à ne pas confondre avec JavaScript) via l'hôte Windows script (WSH).

58voto

Evenbit GmbH Points 4398

Il n'existe pas d'extension de fichier standard comme un fichier ".exe" dans Windows.

Sous Linux, presque tous les fichiers peuvent être exécutables. La terminaison du fichier décrit simplement (mais pas nécessairement) ce que ou comment un fichier est "exécuté".

Par exemple, un Shell Shell se termine par .sh et est "exécuté" via le Shell bash.

Dans votre question, vous demandez des fichiers .deb et .tar.gz. Eh bien, le fichier .deb installe un logiciel sur votre système (soyez prudent !). Et le fichier .tar.gz est un fichier compressé comme un .zip que vous connaissez sous Windows.

26voto

Nemo Points 9032

Le concept d'un exécutable est différent dans unix/linux et dans Windows.

Windows

Tout ce qui se termine par .exe ou .com devient un fichier exécutable.

Linux/Unix

Chaque fichier possède un bit exécutable, donc cualquier peut être exécuté, contrairement à Windows. Pour savoir si un fichier est exécutable, vous pouvez vérifier ses propriétés (onglet Permissions), ou même les voir dans le terminal (ils sont tous marqués d'un *).

Même les fichiers texte (comme Shell Shell) peuvent avoir leurs bits exécutables définis, et être exécutés comme tel.

16voto

Pour savoir ce que le système d'exploitation UNIX pense être le type d'un fichier particulier, vous utilisez la commande file :

$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, for OpenBSD, statically linked, stripped

Dans l'exemple ci-dessus, je donne le chemin du programme 'ls', que vous remplacerez par le chemin de votre fichier.

Un fichier script aurait l'apparence suivante :

$ file script.sh
script.sh: Bourne-Again shell script text

Un fichier texte aléatoire :

$ file textfile
textfile: ASCII text

Un fichier d'archive :

$ file rsync-3.0.6.tar.gz
rsync-3.0.6.tar.gz: gzip compressed data, from Unix

Il est même suffisamment intelligent pour identifier correctement un programme Windows, si vous en avez un qui traîne sur votre machine UNIX :

$ file FMZsetup.exe
FMZsetup.exe: MS-DOS executable (EXE), OS/2 or Windows

Et lorsqu'il n'arrive pas à comprendre ce qu'est un fichier (mais qu'il est capable de l'ouvrir), il l'appelle "données" :

$ file myrandom
myrandom: data

13voto

Bruno Points 421

L'exécution des fichiers sous Linux n'est pas du tout liée au nom du fichier ou à son extension. N'importe quel fichier peut potentiellement être exécuté, à condition qu'il soit pris en charge par la fonction d'exécution du noyau. binfmt (et que ses autorisations d'exécution sont définies).

Le format le plus courant pour les exécutables est ELF bien que certains noyaux puissent être compilés pour prendre en charge l'ancienne version de l'algorithme d'analyse de l'ADN. a.out format. (Pour tous les détails techniques, binfmt_elf.c est l'endroit où il faut regarder).

Un autre mécanisme commun est le "Shebang" système, géré par binfmt_script qui recherche #!/path/to/interpreter au début du fichier.

binfmt_misc permet l'enregistrement d'autres gestionnaires, comme indiqué dans la documentation. aquí .

Si vous avez envie de faire un peu de programmation du noyau, vous pouvez même écrire votre propre .

Bien qu'elle ne soit pas directement liée, la file devrait vous indiquer si un fichier est un exécutable ELF ou autre chose.

La convention de dénomination n'a rien à voir avec le statut d'exécutable d'un fichier (sauf lorsqu'elle est utilisée pour binfmt_misc enregistrement). Ce ne sont que des conventions. Typiquement, un .exe trouvé sous Linux pourrait être un application mono en obtenant le .exe extension comme une convention venant du monde Windows/.Net.

L'autre aspect qui peut se produire lorsque vous voulez "exécuter" un fichier est que l'outil d'exploration de fichiers que vous utilisez enregistre des extensions pour pouvoir lancer un programme qui ouvrira ces fichiers. C'est ce qui se passe si vous double-cliquez sur un fichier de type .txt , .tar.gz ou .deb par exemple : les fichiers ne sont pas des exécutables ni exécutés, mais ce que vous utilisez pour double-cliquer choisit l'exécutable à lancer pour ouvrir ces fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X