Métodos de pago Abuse

Cómo hacer ejecutable un archivo en Linux

06.03.2021, 20:51

Lo que diferencia a Linux de Windows en términos de ejecución de archivos es que el primer sistema define los archivos ejecutables como archivos de programa no por su extensión, sino por una bandera especial de ejecutabilidad. Así, cada archivo tiene tres modos de ejecutabilidad: lectura, ejecución y escritura. Son estos modos los que determinan lo que el sistema puede hacer con un archivo concreto. Cuando un usuario descarga varios instaladores de Internet o crea un script, se le asignan por defecto los siguientes modos: lectura y escritura. En resumen, el usuario no podrá hacer nada con dicho programa, ya que es necesario hacer algo más con él.

¿Qué significa ejecutabilidad?

Pero antes de nada, deberíamos abordar una pregunta como: ¿qué es la ejecutabilidad y qué significa en general? Empecemos con un programa, que es un conjunto de instrucciones ejecutadas por un procesador sobre un conjunto de datos para obtener el resultado deseado. Para el procesador, no hay diferencia entre instrucciones y datos.

Tanto las primeras como los segundos están formados por dígitos: bytes. Es decir, una determinada combinación de dígitos indicará al procesador la necesidad de realizar una acción concreta. Para el procesador no hay diferencia fundamental entre qué proceso ejecutar: datos del sistema operativo o un archivo de texto. Tanto el primero como el segundo se ejecutarán, salvo que en el caso de un archivo de texto se elimina realmente la necesidad de instrucciones.

Las banderas de ejecutabilidad se inventaron para que el sistema entendiera qué instrucciones deben ejecutarse y cuáles no. De hecho, el contenido no cambia en absoluto dependiendo de la clase de ejecutabilidad establecida - la diferencia se reduce sólo a unas pocas líneas. Con los scripts todo funciona de la misma manera, sólo que los comandos no son ejecutados por el procesador, sino por un intérprete, por ejemplo, en los scripts bash - por el propio shell bash. Los programas regulares también tienen su propio cargador - es ld-linux.so.2.

Cómo hacer ejecutable un archivo

El sistema Linux tiene una utilidad especial que le permite gestionar las banderas, que se llama chmod. Para llamar a esta utilidad, es necesario invocar la sintaxis:

$ chmod category action flag file_address

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНЯЕМЫМ В LINUX

Y aquí hay que tener en cuenta lo siguiente

Flag - una de las banderas disponibles - r (leer), w (escribir), x (ejecutar).

Categoría - se puede establecer para tres categorías: propietario del archivo, grupo de datos y todos los demás usuarios. En el comando se indican con u (usuario) g (grupo) o (otros) respectivamente.

Acción - puede ser + (más), lo que significaría fijar la bandera o - (menos) quitar la bandera.

Así, para que un script sea ejecutable en Linux, es necesario que el usuario lo ejecute:

$ chmod u+x file_address

A menudo esto ya es suficiente para hacerlo ejecutable, pero si es necesario autorizar a otros usuarios a ejecutar estos archivos, hay que añadir algo más:

$ chmod ugo+x file_address

Para verlos en el terminal, basta con utilizar la utilidad ls:

$ ls -l file_directory

Посмотреть флаги в терминале можно с помощью утилиты ls

Se incluyen banderas para todas las categorías. Las primeras rwx son banderas de propietario, las segundas son banderas de grupo, y las terceras son para todos los demás. Si no se establece, un guión ocupará su lugar.

Desactivar el indicador de ejecutable es muy fácil. Se utiliza el mismo comando, sólo que con un signo menos:

$ chmod u-x file_address

A continuación, vamos a considerar la cuestión de la configuración de la manejabilidad en GUI.

Cómo establecer la bandera ejecutable en GUI

Para los principiantes, esta instrucción será más fácil. Tomemos como ejemplo el gestor de GNOME, Nautilus. Haga clic con el botón derecho del ratón en nuestro programa u objeto de script para abrir el menú contextual y, a continuación, seleccione propiedades:

КАК УСТАНОВИТЬ ФАЛГ ИСПОЛНЯЕМОСТИ В GUI

Vaya a la pestaña de permisos y marque "Permitir que el archivo se ejecute como un programa":

Разрешить выполнение файла как программы:

Ahora será lanzado por el sistema directamente desde el gestor. Esa es toda la instrucción. Ahora no tendrás dificultades para lanzar un programa o script desde Internet.