GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo hacer un archivo ejecutable en la terminal de Linux?

Cada archivo que se encuentra en un sistema de archivos compatible con POSIX (Ext4, Btrfs, XFS, JFS, etc.) tiene "bits de modo" asignados a sí mismo.

Para hacer que un archivo sea ejecutable en Linux, el bit de modo ejecutable debe estar habilitado.

Para configurar el bit del modo ejecutable, el comando chmod se usa así:

chmod u+x <file>

Con eso, puedes ejecutar dicho archivo desde la terminal:

./file

Ese fue el resumen rápido. Veamos las cosas un poco en detalle.

Hacer un archivo ejecutable en Linux

Hay varias formas de hacer que un archivo sea ejecutable en Linux. Los métodos más comunes involucran el uso de chmod comando, de diferentes maneras.

Para verificar si puede ejecutar un archivo, use -l marcar con ls comando.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

En la primera columna, -rw-r--r-- representa que el propietario puede leer y escribir, los usuarios del grupo solo pueden leer y todos los demás solo pueden leer el archivo.

Tenga en cuenta la falta de x de los símbolos de permiso. Esto significa que lhb.txt no es ejecutable.

Recomiendo leer sobre los permisos de archivos de Linux y repasar los conceptos básicos para comprender mejor estos comandos.

Método 1:hacer que el archivo sea ejecutable para todos

El primer método, y el más directo, es hacer un archivo ejecutable usando el siguiente comando:

chmod +x <file>

El x flag es establecer o deshabilitar el permiso ejecutable de un archivo. Y usando + firmar antes de x significa que queremos configurarlo como un archivo ejecutable.

Esto hará que el archivo sea ejecutable para el propietario, el grupo y todos los demás. Cualquiera en el sistema podrá ejecutarlo también.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod +x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Como puede ver ahora, todos, el propietario, el grupo y otros tienen el ejecutable x conjunto de bits. Esto significa que todos pueden ejecutar este archivo ahora.

Método 2:Hacer que el archivo sea ejecutable solo para cierto usuario o grupo

Si no desea que todos puedan ejecutar un archivo, debe especificar clases antes de agregar/eliminar permisos de archivo.

Las clases disponibles son:

  • u :permisos para propietario/usuario
  • g :permisos para el grupo
  • o :permisos para otros
  • a :permisos para todos

Cuando especifica una clase, la sintaxis es mayormente similar a la que vio en el primer método.

chmod <class>+x <file>

Esto significa que, si quiero que el archivo sea ejecutable de tal manera que solo el propietario del archivo pueda ejecutarlo y nadie más, entonces debo usar el siguiente comando:

chmod u+x <file>

He aquí un ejemplo:

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod u+x lhb.txt

$ ls -l lhb.txt
-rwxr--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Del mismo modo, para que sea ejecutable para todos los miembros del grupo que poseen ese archivo, debo usar el siguiente comando:

chmod g+x <file>

He aquí un ejemplo:

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod g+x lhb.txt
$ ls -l lhb.txt
-rw-r-xr--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Cuando especifica el a clase, es casi como si no hubieras especificado ninguna. Echemos un vistazo.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod +x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod 644 lhb.txt #reset permissions

$ chmod a+x lhb.txt

$ ls -l lhb.txt
-rwxr-xr-x  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Estos comandos pueden aparecer de manera diferente, pero tienen el mismo resultado.

Método 3:Usar los números octales

Si sigue el primer método, solo habilita el indicador ejecutable de un archivo haciendo +x , por lo que cualquiera puede ejecutarlo.

Pero, a veces, es posible que no desee que todos ejecuten un archivo, tal vez debería necesitar algunos privilegios. En ese caso, puede especificar el conjunto completo de permisos.

Esto generalmente se hace proporcionando un valor octal o un valor simbólico para habilitar los permisos de archivo.

Esto le permite tener un control más granular sobre cómo se configuran las banderas. A continuación se muestra la sintaxis para usar valores octales con chmod comando:

chmod <octal> <file>

Si no eres bueno con los números, puedes usar una calculadora de chmod en línea, que te ayuda a generar valores octales correctos y así evitar usar el valor incorrecto y estropear los permisos de archivo.

Digamos, quiero hacer que el archivo sea ejecutable solo para el propietario y el grupo, primero necesito saber sus permisos actuales y agregarle los bits ejecutables encima usando [chmod-calculator].

Veamos cómo hacerlo.

$ ls -l lhb.txt
-rw-r--r--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

$ chmod 754 lhb.txt

$ ls -l lhb.txt
-rwxr-xr--  1 pratham  staff  0 Mar 10 20:49 lhb.txt

Como puede ver, solo el propietario y el grupo pueden ejecutar el archivo.

Conclusión

Este artículo cubre cómo hacer que un archivo sea ejecutable en un sistema Linux. Se centró principalmente en las diferentes formas de usar el chmod dominio. Si quieres saber más al respecto, tenemos algunos ejemplos sobre cómo usar el chmod comando.


Linux
  1. Cómo hacer que el archivo y el directorio no se puedan eliminar, incluso mediante la raíz en Linux

  2. Cómo administrar las capacidades de archivos de Linux

  3. Cómo encontrar un archivo en Linux

  4. ¿Cómo hacer que el archivo sea disperso?

  5. ¿Cómo crear un archivo en Linux desde la ventana de terminal?

Cómo hacer un archivo ejecutable en Linux

Cómo verificar la suma de comprobación en Linux

Cómo instalar Ranger Terminal File Manager en Linux

Cómo crear un archivo en Linux usando Terminal

Cómo vincular un archivo en Linux

Cómo copiar archivos y directorios en la terminal de Linux