Línea de comandos

Línea de comandos, Intérprete de comandos, Terminal, Consola, Shell ó su acronimo en inglés CLI por Command line interface, es un programa informático que actúa como Interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera comandos textuales ingresados por el usuario en el teclado, los interpreta y los entrega al sistema operativo para su ejecución. La respuesta del sistema operativo es mostrada al usuario en la misma ventana. A continuación, la shell queda esperando más instrucciones. Se interactúa con la información de la manera más simple posible, sin gráficas, solo el texto crudo.

Por extensión también se llama Intérprete de comandos a algunas interfaces de programas (mayores) que comunican al usuario con el software o al Cliente (informática) de un Servidor, como por ejemplo, bancos de datos (MySQL, Oracle) u otros programas (openSSL, FTP) etc.

Dada la importancia de esta herramienta, existe ya desde los comienzos de la computación. Existen para diversos sistemas operativos, diversos hardware, con diferente funcionalidad. Suelen incorporar características tales como control de procesos, redirección de entrada/salida, listado y lectura de ficheros, protección, comunicaciones y un lenguaje de órdenes para escribir programas por lotes o (scripts o guiónes).

Es posible que un sistema operativo tenga varios intérpretes de comandos, es más, la visión lógica de un sistema operativo cambia según el intérprete de comandos usado. Ejemplo: Win32 sobre Windows o POSIX sobre LINUX.

Casi cualquier programa puede diseñarse para ofrecer al usuario alguna clase de Intérprete de comandos. Por ejemplo, casi todos los juegos de PC en primera persona tienen un Intérprete de comandos incorporada, utilizada para diagnostico y labores administrativas.

Su contraparte es la Interfaz gráfica de usuario que ofrece una estética mejorada a costa de mayor consumo de recursos computacionales, una mayor vulnerabilidad por complejidad y , en general, una reducción en la funcionalidad ofrecida.