Aunque indirectamente ya hemos aprendido a lanzar ficheros ejecutables, esta sección explica que variedad de ejecuciones podemos realizar. Un fichero ejecutable en UNIX es cualquier fichero que tiene permisos de ejecución. Evidentemente será ejecutable por aquellos usuarios que indiquen los permisos. Para lanzar un programa escribiremos su nombre. Si el fichero ejecutable está almacenado en uno de los directorios indicados en la variable de entorno $PATH no es necesario que escribamos el camino completo del fichero, empezando desde el directorio raíz o haciendo relativamente a donde nos encontramos ahora. El nombre del un fichero ejecutable puede ser cualquiera. En UNIX no ocurre como en MS-DOS en que los ficheros ejecutable deben tener como extensión .EXE o .COM.
El continido de un fichero ejecutable puede ser cualquiera, pero ocurre que no tiene sentido almancenar en un fichero ejecutable código que no sea realmente ejecutable. Lo más común es que este tipo de ficheros almacenen código máquina enlazado (si no está enlazado, el código máquina aún no puede ser ejecutado por el sistema opertivo). La otra posibilidad es que almacenen programas de shell que es lo más parecido a los programas de procesamiento por lotes en MS-DOS y que acaban en la extensión .BAT.
Cuando invocamos un programa ejecutable (también llamado en ocasiones comando) desde el shell, este busca en los caminos especificados en la variable $PATH. Si el fichero no está en uno de esos caminos el shell necesitará el camino completo. Para averiguar donde está un determinado fichero ejecutable podemos usar el comando: