Je ne sais pas quelle est l'extension exacte du fichier exécutable. Est-ce que c'est .deb
ou .tar.gz
?
Réponses
Trop de publicités?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).
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.
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.
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
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.
- Réponses précédentes
- Plus de réponses