No sé cuál es la extensión exacta del archivo ejecutable. Es .deb
o .tar.gz
?
executable
usuario54905
fuente
fuente
.exe
ninguna relación con las extensiones que no son necesarias para los ejecutables nativos. El primero explica el contenido de/dev
; esto último se debe a los permisos de ejecución y la confianza en el examen del interior de un archivo para determinar qué tipo de archivo es.Respuestas:
No hay extensión de archivo estándar como un archivo ".exe" en Windows.
En Linux, casi cualquier archivo puede ser ejecutable. El final del archivo solo describe (pero no necesariamente) qué o cómo se "ejecuta" un archivo.
Por ejemplo, un script de shell termina con .sh y se "ejecuta" a través del shell bash.
En su pregunta, pide .deb y .tar.gz Bueno, el archivo .deb instala el software en su sistema (¡Tenga cuidado!) Y el archivo .tar.gz es un archivo comprimido como un .zip que puede conocer de Windows
fuente
.deb
archivos NO suelen ser ejecutables: no son scripts ELF ni "she-bang" y es poco probable que se registren con binfmt. Incluso con permisos ejecutables, el núcleo no sabría qué hacer con ellos. El hecho de que su explorador de archivos se pueda registrar para abrir archivos con una determinada aplicación basada en la extensión no tiene nada que ver con que sean ejecutables (en términos de permiso de archivo o en términos de ejecución de formato binario del núcleo)..deb
se parece más a un.msi
archivo que a un.exe
archivo.Resumiría el sistema de la siguiente manera:
Cualquier archivo que comience con
#!
(llamado shebang o hashbang) en la primera línea es solo un script. La ruta después del shebang es una ruta al programa (ejecutable) que necesita analizar el script, suponiendo que el permiso de ejecución se haya establecido en el archivo conchmod a+x filename
.Por lo tanto, responda su pregunta original, no hay extensión, o raramente, es
.elf
o.bin
.Esto se ha hecho Community Wiki, por lo que cualquiera puede agregar una entrada.
fuente
El concepto de un ejecutable es diferente en unix / linux que Windows.
Ventanas
Todo lo que termina
.exe
o se.com
convierte en un archivo ejecutable.Linux / Unix
Todos y cada uno de los archivos tienen un bit ejecutable, por lo que cualquier archivo puede ejecutarse, a diferencia de Windows. Para ver si un archivo es ejecutable, puede verificar sus propiedades (pestaña Permisos), o incluso verlos marcados en el terminal (todos están marcados con un *).
Incluso los archivos de texto (como los scripts de shell) pueden tener sus bits ejecutables establecidos y ejecutarse como uno solo.
fuente
#!/bin/bash
por ejemplo) al comienzo del archivo establece qué programa ejecuta el archivo.man magic
, ELFman elf
y línea hash-bangman execve
)Para averiguar qué piensa un sistema operativo UNIX que es un tipo de archivo en particular, utilice el comando de archivo:
En el ejemplo anterior, le doy la ruta al programa 'ls', que reemplazaría con la ruta de su archivo.
Un archivo de script se vería así:
Un archivo de texto aleatorio:
Un archivo de archivo:
Incluso es lo suficientemente inteligente como para identificar correctamente un programa de Windows, en caso de que tenga uno en su caja UNIX:
Y cuando no puede descubrir qué es un archivo (pero puede abrirlo), lo llama datos:
fuente
La ejecución de archivos en Linux no está relacionada en absoluto con el nombre o la extensión del archivo. Cualquier archivo puede ejecutarse potencialmente, siempre que sea manejado por el
binfmt
mecanismo del núcleo (y que sus permisos ejecutables estén configurados).El formato más común para el ejecutable es ELF , aunque algunos núcleos se pueden compilar para admitir el
a.out
formato anterior. (Para detalles técnicos completos,binfmt_elf.c
es dónde buscar).Otro mecanismo común es el sistema "Shebang" , manejado por
binfmt_script
, que busca#!/path/to/interpreter
al comienzo del archivo.binfmt_misc
permite el registro de otros manejadores, como se documenta aquí .Si te apetece programar un poco el kernel, incluso puedes escribir el tuyo .
Aunque no está directamente relacionado, el
file
comando debería decirle si un archivo es un ejecutable ELF u otra cosa.La convención de nomenclatura no tiene nada que ver con el estado ejecutable de un archivo (excepto cuando se usa para el
binfmt_misc
registro). Son solo convenciones. Típicamente, un.exe
archivo encontrado en Linux podría ser una aplicación mono , obteniendo la.exe
extensión como una convención proveniente del mundo Windows / .Net.El otro aspecto que puede suceder cuando desea "ejecutar" un archivo es tener la herramienta de exploración de archivos que utiliza para registrar extensiones para poder iniciar un programa que abrirá estos archivos. Esto es lo que pasaría si se hace doble clic en una
.txt
,.tar.gz
o.deb
, por ejemplo: los archivos no son ejecutables ni ejecutado, pero lo que se utiliza para hacer doble clic elige qué ejecutable para lanzar al abrir estos archivos.fuente
En Windows, un archivo .exe es un archivo de computadora que termina con la extensión ".exe" comúnmente conocida como archivo ejecutable. Cuando uno hace clic en un archivo exe, una rutina integrada ejecuta automáticamente el código que puede poner en movimiento varias funciones. Los archivos Exe se usan comúnmente para instalar archivos en el sistema operativo Windows.
Además, tiene archivos .tar, comúnmente conocidos como archivos comprimidos. Las versiones de Linux, como Ubuntu, utilizan características prominentes en varias distribuciones de software, con la mayoría del código fuente de software disponible en el formato tar.gz. gz es una forma del conocido formato .tar, que se usa para archivar.
En Ubuntu, por otro lado, el formato de archivo .deb es el que se comporta más como el archivo .exe en Windows. Cuando lo abre, el centro de software maneja su código e instala el programa que contiene, como un archivo ejecutable.
Aunque todavía puede instalar software y paquetes desde el formato fuente (tar.gz), el formato más adecuado para instalar software es .deb one. Tome como ejemplo el Centro de software de Ubuntu; todas las aplicaciones que contiene son, de hecho, archivos .deb. En general, en Linux, casi todos los formatos de archivo (incluidos .deb y tar.gz, así como los conocidos archivos bash .sh) pueden comportarse como un archivo ejecutable para que usted puede instalar paquetes o software con eso.
fuente
No hay equivalente a la extensión del archivo exe en Windows para indicar que un archivo es ejecutable. En cambio, los archivos ejecutables pueden tener cualquier extensión y, por lo general, no tienen ninguna extensión .
Linux / Unix usa permisos de archivo para indicar si se puede ejecutar un archivo . En concreto, hay una ejecución de permisos de archivo que le dice al sistema que se este archivo permitido para ser ejecutado. Sin embargo, la ausencia de este permiso no indica que el archivo no sea ejecutable; simplemente que el usuario relevante no puede intentar ejecutarlo. Del mismo modo, la presencia de este permiso no siempre indica que el archivo es un ejecutable válido.
Linux / Unix tiene un formato de archivo binario ejecutable llamado ELF que es equivalente a los formatos ejecutables binarios PE (Windows) o MZ / NE (DOS) que generalmente llevan la extensión .exe
Sin embargo, otros tipos de archivos pueden ser ejecutables, dependiendo del shell. Por lo general, si intenta ejecutar un archivo que el sistema no reconoce como ejecutable binario (por ejemplo, formato ELF), el intérprete de shell actual lo interpreta. Esto cumple el mismo efecto que los archivos por lotes en Windows o DOS, excepto que, de nuevo, no es la extensión la que identifica su tipo o cómo ejecutarlo.
Los archivos de shell pueden comenzar opcionalmente con un hashbang (los primeros dos caracteres del archivo van
#!
seguidos de una ruta a un intérprete), en cuyo caso, en lugar de interpretar el resto del archivo con el intérprete de shell actual, puede iniciar un intérprete de comandos o intérprete alternativo para Ejecuta el archivo. Por lo tanto, puede tener un script en cualquier idioma interpretado y aún así ejecutarlo con el intérprete correcto cuando intente ejecutar el script.fuente
Los archivos EXE y DLL son archivos ejecutables portátiles. Estos se basan en los archivos PE / COFF unix.
Lea http://en.wikipedia.org/wiki/Portable_Executable para obtener más información.
En Ubuntu no tienes una extensión específica para un archivo ejecutable. Estos son generalmente archivos que llevan el nombre de la aplicación con la que también se relacionan.
El factor importante es que estos archivos tienen el conjunto de bits ejecutable. Si tiene un terminal de color, notará que estos son de un color diferente cuando se enumeran usando
ls
.En el sistema de archivos unix, los archivos binarios ejecutables generalmente se almacenan en su propia ubicación.
mientras que otros recursos de la aplicación pueden almacenarse en / usr / lib / o / usr / share /
Un archivo deb corresponde más correctamente a un archivo msi en Windows (es decir, un instalador de paquetes).
Generalmente, los archivos tar.gz o bz2 contienen código fuente desde el cual se puede construir una aplicación
fuente
Ubuntu iguallant del archivo .exe / .com es un archivo sin extensión, por lo general, algunas extensiones como .bin, .run, etc., se agregan por conveniencia
Hay varias alternativas para el archivo .bat (casi todos los archivos), la más popular es .sh
.deb es solo un archivo binario (similar a .msi en Windows) con standerds debian
.tar.gz es solo un formato de archivo común utilizado en ubuntu
fuente
Cualquier nombre de archivo se puede configurar como ejecutable independientemente de la extensión, pero el archivo debe tener el conjunto de permisos adecuado. El permiso se puede otorgar haciendo clic con el botón derecho en el archivo en Nautilus, haciendo clic en Propiedades y marcando la casilla de verificación "Permitir ejecutar archivo como programa":
fuente
.deb Debian Package para Linux y el archivo TAR comprimido con el algoritmo de compresión GNU zip (gzip) estándar; contiene uno o más archivos comprimidos; comúnmente utilizado en sistemas operativos Unix para empaquetar archivos, programas e instaladores.
NOTA : Los archivos TAR.GZ primero deben descomprimirse y luego expandirse utilizando una utilidad TAR. Incluyen los tipos de archivo .TAR y .GZ.
fuente