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

35

Je ne connais pas l’extension exacte du fichier exécutable. Est-ce .deb ou .tar.gz ?

    
posée user54905 26.06.2012 - 21:14
la source

11 réponses

36

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 fin du fichier décrit simplement (mais pas nécessairement) ce que "comment" un fichier est "exécuté".

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

Dans votre question, vous demandez pour .deb et .tar.gz Eh bien, le fichier .deb installe le logiciel sur votre système (faites attention s'il vous plaît!) Et le fichier .tar.gz est un fichier compressé comme un fichier .zip que vous pouvez connaître sous Windows.

    
réponse donnée rechengehirn 26.06.2012 - 21:21
la source
61

Je résumerais le système de la manière suivante:

Linux extension    |Windows Equivalent    |Short description
------------------------------------------------------------
.so, .o            | .dll                 | Object that can be loaded at runtime (Similar to DLL)
.a                 | .lib                 | Static library
[none], .elf(rare) | .exe, .com(rare)     | Linux executables
    .bin(rare)     |                      |
.sh                | .bat                 | Shell script
.exe               | .exe                 | Mono application, Wine application
.deb               | .msi                 | Installer package for Debian/Ubuntu releases
                   |                      |     (Though .deb is much more powerful with 
                   |                      |     native support for dependencies and repos). Note that .deb is actually a .ar archive with a special control file, a special file order, and a different extension.
.rpm               | .msi                 | Installer package for RedHat/CentOS releases.
.tar.gz, .tar, .gz | .zip                 | Compressed files that can contain a program or any other data, like images, documents, etc
.ko                | .sys                 | Drivers and kernel modules are loaded into the Linux kernel and have more hardware access than other programs.
.sh, .php, .py, etc| .bat, .vbs           | Linux is capable of running any file that it has an interpreter for. 
                   |                      |   A line at the top of the file called the shebang specifies what interpreter to run the file with. 
                   |                      |   Windows only really runs .bat files in this way.

Tout fichier commençant par #! (appelé shebang ou hashbang) sur la première ligne est juste un script. Le chemin après le shebang est un chemin vers le programme (exécutable) qui doit analyser le script, en supposant que l'autorisation d'exécution a été définie sur le fichier avec chmod a+x filename .

Par conséquent, répondez à votre question d'origine, il n'y a pas d'extension, ou rarement, c'est .elf ou .bin .

Cela a été fait Wiki de la communauté, donc tout le monde peut ajouter une entrée.

    
réponse donnée hexafraction 26.07.2017 - 15:00
la source
24

Le concept d’un exécutable est différent sous Unix / Linux que sous 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, de sorte que n’importe quel fichier peut être exécuté, contrairement à Windows. Pour voir si un fichier est exécutable, vous pouvez vérifier ses propriétés (onglet Autorisations) ou même les voir marquées dans le terminal (elles sont toutes marquées d'un *).

Même les fichiers texte (comme les scripts shell) peuvent avoir leurs bits exécutables définis et être exécutés en un seul.

    
réponse donnée Nemo 26.06.2012 - 21:21
la source
15

Pour savoir ce qu’un système d’exploitation UNIX pense d’un type de fichier particulier, 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 vers le programme 'ls', vous devez le remplacer par le chemin de votre fichier.

Un fichier script ressemblerait à:

$ 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 assez intelligent pour identifier correctement un programme Windows, si vous en avez un sur votre box UNIX:

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

Et quand il ne peut pas comprendre ce qu'est un fichier (mais qu’il est capable de l’ouvrir), il l’appelle data:

$ file myrandom
myrandom: data
    
réponse donnée Don Simon 26.06.2012 - 21:36
la source
9

L'exécution du fichier sous Linux n'est pas du tout liée au nom de fichier ou à l'extension. Tout fichier peut potentiellement être exécuté, à condition qu'il soit géré par le mécanisme binfmt du noyau (et que ses autorisations exécutables sont définies).

Le format le plus courant pour l’exécutable est ELF , bien que certains noyaux puissent être compilés pour prendre en charge l’ancien a.out . format. (Pour des détails techniques complets, binfmt_elf.c est l’endroit où chercher.)

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

binfmt_misc permet d’enregistrer d’autres gestionnaires, comme indiqué dans la documentation ici .

Si vous souhaitez programmer un peu le noyau, vous pouvez même écrire le vôtre .

Bien que n'étant pas directement liée, la commande 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 l’état exécutable d’un fichier (sauf s’il est utilisé pour l’enregistrement binfmt_misc ). Ils ne sont que des conventions. En règle générale, un fichier .exe trouvé sous Linux peut être une application mono , obtenant ainsi l'extension .exe en tant que convention venant du monde Windows / .Net.

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

    
réponse donnée Bruno 26.06.2012 - 22:52
la source
3

Dans Windows, un fichier .exe est un fichier informatique qui se termine par l'extension ".exe", communément appelée fichier exécutable. Quand on clique sur un fichier exe, une routine intégrée exécute automatiquement le code qui peut mettre en mouvement plusieurs fonctions. Les fichiers Exe sont couramment utilisés pour installer des fichiers dans le système d'exploitation Windows.

De plus, vous avez des fichiers .tar, communément appelés fichiers compressés. Les versions Linux, telles que l'utilisation d'Ubuntu, occupent une place importante dans diverses distributions logicielles, la plupart des codes source logiciels étant disponibles au format tar.gz. que tar.gz est une forme du format .tar bien connu, utilisé pour l’archivage.

En revanche, dans Ubuntu, le format de fichier .deb se comporte plus comme le fichier .exe dans Windows. Lorsque vous l'ouvrez, le centre logiciel le gère et installe le programme qu'il contient, comme un exécutable. fichier.

Même si vous pouvez toujours installer des logiciels et des paquets à partir du format source (tar.gz), celui qui convient le mieux pour installer le logiciel est celui du .deb. Prenez par exemple le logiciel Ubuntu Software Center; toutes les applications qu'il contient sont en fait des fichiers .deb. En général, sous Linux, presque tous les formats de fichiers (y compris les fichiers .deb et tar.gz ainsi que les fichiers bash bien connus .sh) peuvent se comporter comme un fichier exécutable. peut installer des packages ou des logiciels avec cela.

    
réponse donnée dlin 26.06.2012 - 21:22
la source
2

Il n’existe pas d’équivalent de l’extension de fichier exe dans Windows pour indiquer qu’un fichier est exécutable. Au lieu de cela, les fichiers exécutables peuvent avoir n'importe quelle extension et ont généralement aucune extension .

Linux / Unix utilise des autorisations de fichiers pour indiquer si un fichier peut être exécuté. Plus précisément, il existe une autorisation de fichier execute qui indique au système que ce fichier est autorisé à être exécuté. Cependant, l'absence de cette autorisation n'indique pas que le fichier n'est pas un exécutable; simplement que l'utilisateur concerné n'est pas autorisé à essayer de l'exécuter. De même, la présence de cette autorisation n'indique pas toujours que le fichier est un exécutable valide.

Linux / Unix a un format de fichier exécutable binaire appelé ELF qui est un équivalent des formats exécutables binaires PE (Windows) ou MZ / NE (DOS) qui portent généralement l'extension .exe

Cependant, d’autres types de fichiers peuvent être exécutables, selon le shell. Généralement, si vous essayez d'exécuter un fichier que le système ne reconnaît pas comme un exécutable binaire (par exemple, le format ELF), il est interprété par l'interpréteur de shell actuel. Cela remplit le même effet que les fichiers de commandes batch sous Windows ou DOS, sauf qu’à nouveau, ce n’est pas l’extension qui identifie son type ou comment l’exécuter.

Les fichiers shell peuvent éventuellement commencer par un hashbang (les deux premiers caractères du fichier sont #! suivi d'un chemin vers un interpréteur), auquel cas, plutôt que d'interpréter le reste du fichier avec l'interpréteur de shell actuel, il peut lancer un autre shell ou interpréteur pour exécuter le fichier. Ainsi, vous pouvez avoir un script dans n'importe quel langage interprété et le faire toujours exécuter avec l’interpréteur approprié lors de l’exécution du script.

    
réponse donnée thomasrutter 25.06.2015 - 17:40
la source
1
Les fichiers EXE et DLL sont des fichiers exécutables portables. Celles-ci sont basées sur les fichiers unix PE / COFF.

Lisez lien pour plus d’informations.

Dans Ubuntu, vous n’avez pas d’extension spécifique pour un fichier exécutable. Ce sont généralement des fichiers qui portent le nom de l’application à laquelle ils se rapportent.

Le facteur important est que ces fichiers ont le bit exécutable défini. Si vous avez un terminal couleur, vous remarquerez qu’il s’agit d’une couleur différente lorsqu’il est répertorié avec ls .

Dans le système de fichiers Unix, les fichiers exécutables binaires sont généralement stockés dans leur propre emplacement.

  1. / bin (binaires principaux)
  2. / sbin (binaires système)
  3. / usr / bin (binaires d'application)

alors que d'autres ressources d'application peuvent être stockées dans / usr / lib / ou / usr / share /

Un fichier deb correspond plus correctement à un fichier msi dans Windows (c'est-à-dire un programme d'installation de package).

En général, les fichiers tar.gz ou les fichiers bz2 contiennent du code source à partir duquel une application peut être créée

    
réponse donnée Merlin 26.06.2012 - 21:36
la source
0

Ubuntu equallant du fichier .exe / .com est un fichier sans extension, généralement des extensions comme .bin, .run, etc. sont ajoutées pour covinience

il existe plusieurs alternatives pour le fichier .bat (presque tous les fichiers), le plus populaire étant le fichier .sh

.deb est juste une archive de fichiers binaires (similaire à .msi dans Windows) avec Debian Standerds

.tar.gz est juste un format d’archivage commun à ubuntu

    
réponse donnée Tachyons 16.08.2012 - 14:24
la source
0

N'importe quel nom de fichier peut être défini sur exécutable, quelle que soit son extension, mais le jeu d'autorisations approprié est requis pour le fichier. La permission peut être donnée en cliquant avec le bouton droit sur le fichier dans Nautilus, en cliquant sur Propriétés et en cochant la case "Autoriser l'exécution du fichier en tant que programme":

    
réponse donnée Terrarian 24.04.2015 - 02:27
la source
-3

.deb Le paquet Debian pour Linux et l'archive TAR ont été compressés avec l'algorithme de compression standard GNU zip (gzip); contient un ou plusieurs fichiers compressés; couramment utilisé sur les systèmes d’exploitation Unix pour empaqueter des fichiers, des programmes et des programmes d’installation.

REMARQUE : les fichiers TAR.GZ doivent d'abord être décompressés, puis développés à l'aide d'un utilitaire TAR. Ils incluent les types de fichiers .TAR et .GZ.

    
réponse donnée Shanmugasundharam selvadurai 25.06.2015 - 16:49
la source

Lire d'autres questions sur les étiquettes