Lo genial de esto es que cualquier archivo que sea ejecutable puede llegar a ser un comando 😄.
.
Por ejemplo, si tú tienes un archivo .sh
(un script de bash) o cualquier otro archivo (por ejemplo, para PHP existe un archivo llamado composer.phar
), estos archivos son básicamente textos que corren el agún lenguaje de programación, estos archivos suelen llevar al inicio del archivo algo como: #!/bin/bash
. Eso que llevan al inicio es prácticamente la ruta en la cual se encuentra el intérprete que es capaz de ejecutar dicho archivo, en este caso, el intérprete se encuentra en /bin/bash
, pero para este ejemplo con PHP, el intérprete se encuentra en /usr/bin/php
.
.
.
Si un archivo tiene permisos de ejecución, al escribir en la terminal ./archivo_a_ejecutar
, esta leerá esa línea que va al inicio del archivo y buscará el intérprete que es capaz de ejecutar el código de dicho archivo.
.
.
Lo mejor es que… en Linux no necesitamos manejar extensiones, es decir, tu archivo fácilmente puede llamarse script
en lugar de script.sh
, o composer
en lugar de compser.phar
¡y va a funcionar igualmente!. En Linux las extensiones son mera cortesía 👀.
.
.
¿Y qué tiene que ver<!-- --> esto con la clase? Pues… la línea de comandos busca estos programas guardados en cierta carpeta, por ejemplo, una carpeta muy común para guardarlos suele ser /usr/bin
, cuando tu escribes algo, cualquier cosa en la terminal, esta irá a buscar si eso que escribiste se encuentra en dicha ruta, y si sí se encuentra, la ejecutará. Por lo que si tú mueves estos archivos que contienen código y que les quitaste las extensiones hacia una de estas carpetas que la terminal consulta… ¡voilá! Acabas de crear un nuevo comando 😄.
.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?