Interfaz de línea de comandos


Una interfaz de línea de comandos ( CLI ) procesa comandos a un programa de computadora en forma de líneas de texto. El programa que maneja la interfaz se llama intérprete de línea de comandos o procesador de línea de comandos . Los sistemas operativos implementan una interfaz de línea de comandos en un shell para el acceso interactivo a funciones o servicios del sistema operativo. Dicho acceso se proporcionó principalmente a los usuarios mediante terminales de computadora a partir de mediados de la década de 1960, y continuó utilizándose durante las décadas de 1970 y 1980 en VAX/VMS , sistemas Unix y sistemas de computadora personal, incluidos DOS , CP/M.y DOS de Apple .

Hoy en día, muchos usuarios confían en las interfaces gráficas de usuario y las interacciones basadas en menús. Sin embargo, algunas tareas de programación y mantenimiento pueden no tener una interfaz gráfica de usuario y aún pueden usar una línea de comando.

Las alternativas a la interfaz de línea de comandos incluyen menús de interfaz de usuario basados ​​en texto (por ejemplo, IBM AIX SMIT ), atajos de teclado y varias metáforas de escritorio centradas en el puntero (generalmente controlado con un mouse ). Ejemplos de esto incluyen Microsoft Windows, DOS Shell y Mouse Systems PowerPanel. Las interfaces de línea de comandos a menudo se implementan en dispositivos terminales que también son capaces de interfaces de usuario basadas en texto orientadas a la pantalla que utilizan el direccionamiento del cursor para colocar símbolos en una pantalla de visualización.

Muchos sistemas de software implementan interfaces de línea de comandos para control y operación. Esto incluye entornos de programación y programas de utilidad.

En comparación con una interfaz gráfica de usuario, la implementación de una interfaz de línea de comandos requiere menos recursos del sistema. Dado que las opciones de los comandos se dan en unos pocos caracteres en cada línea de comando, un usuario experimentado a menudo puede encontrar las opciones más fáciles de acceder. La automatización de tareas repetitivas se simplifica mediante la edición de líneas y los mecanismos de historial para almacenar secuencias de uso frecuente; esto puede extenderse a un lenguaje de secuencias de comandos que puede tomar parámetros y opciones variables. Se puede mantener un historial de línea de comandos, lo que permite la revisión o repetición de comandos.

Un sistema de línea de comandos puede requerir manuales impresos o en línea para referencia del usuario, aunque a menudo una opción de "ayuda" brinda una revisión concisa de las opciones de un comando. Es posible que el entorno de línea de comandos no proporcione mejoras gráficas, como fuentes diferentes o ventanas de edición extendidas que se encuentran en una GUI. Puede ser difícil para un nuevo usuario familiarizarse con todos los comandos y opciones disponibles, en comparación con los iconos y menús desplegables de una interfaz gráfica de usuario, sin consultar repetidamente los manuales.


Captura de pantalla de una sesión de Bash de muestra en GNOME Terminal 3, Fedora 15
Captura de pantalla de Windows PowerShell 1.0, ejecutándose en Windows Vista
Una interfaz gráfica de usuario con iconos y ventanas ( GEM 1.1 Desktop )
CommandShell de Apple Computer en A/UX 3.0.1
GUI de GNU Octave con interfaz de línea de comandos
Interacción de shell Bourne en la versión 7 de Unix
Aviso de un BBC Micro después del encendido o restablecimiento completo
Una línea de comando de MS-DOS, que ilustra el análisis en comando y argumentos
El final de la salida del comando HELP de RT-11SJ que se muestra en un VT100
Un teclado de teleimpresora Teletype Modelo 33 ASR con lector de cinta perforada y punzón
Terminal DEC VT52