Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una tpica CLI encontrada en las interfaces grficas de diversos sistemas operativos, para ejecutar
aplicaciones a travs de un intrprete de comandos.
ndice
[ocultar]
1Historia
2Funcionamiento
3Implementaciones
4Estndar de invocacin
5Ejemplos de interaccin
7Vase tambin
8Referencias
9Bibliografa
10Enlaces externos
Historia[editar]
En los primeros aos de las computadoras, y durante la era de los computadores
denominados mainframes, el control de la ejecucin de los programas se haca desde lugares
especiales (normalmente ubicados cerca del computador en salas con aire acondicionado),
donde el administrador manipulaba directamente la mquina.
Teletipo
Se escriba la orden en el teclado y se reciba la respuesta impresa en papel. Estos sistemas
basados en teletipos dieron origen a la primera forma eficiente de interactuar con
computadores: lneas de texto simple.
Con el advenimiento del sistema operativo Unix a inicios de la dcada de 1970, el uso de la
lnea de comandos se convirti en un estndar. Se canonizaron las reglas de ejecucin
basadas en tuberas, filtrado de archivos utilizando comodines, y todas aquellas
funcionalidades que permitan las nacientes interfaces de texto. Los sistemas operativos que
vendran (CP/M, DOS) adoptaran como propias aquellas cualidades.
Con la popularizacin de la computadora personal en la dcada de 1980, las aplicaciones
entraron a un nuevo escenario donde ya no se tena que compartir los recursos del sistema
con otros usuarios. Ahora cada usuario contaba con su propia mquina, con la que
interactuaba de una forma mucho ms personalizada. Apple y luego Microsoft lanzaron
exitosamente al mercado sistemas que explotaban todos los conceptos visuales que haban
sido desarrollados por Alan Kay y su equipo del PARC, es decir, una interfaz grfica para
controlar al computador por medio de un ratn.
Hasta la actualidad las GUI permanecen como la interfaz dominante y las CLI como interfaz
secundaria. No obstante, el mismo Dr. Alan Kay ha sealado que es necesario desarrollar un
nuevo tipo de interfaz para optimizar la relacin entre humanos y computadores. 1
Funcionamiento[editar]
En su forma ms simple, una CLI consiste en un espacio donde se pueden escribir rdenes
(por lo general, sealizado con un prompt). El usuario teclea una orden y la ejecuta al pasar a
la lnea siguiente, utilizando la tecla Entrar.
Las rdenes dadas a la CLI son con frecuencia de la forma:
PROMPT>aplicacin [parametros] ficheros o URI...
Al finalizar y enviar la orden con la tecla Entrar, un mdulo interpretador de rdenes analiza la
secuencia de caracteres recibida y, si la sintaxis de la orden es correcta, ejecuta la orden
dentro del contexto del programa o del sistema operativo donde se encuentra. Esta forma de
trabajo es secuencial, y equivale a un tipo de programacin paso a paso.
El usuario percibe el procesamiento de sus instrucciones en forma de accin. Si al usuario se
le enva esta informacin de procesamiento en forma de texto simple, entonces se le
llama salida estndar o stdout. El usuario tambin puede recibir un informe textual de
errores en un canal especializado llamado stderr. Casi todos los shells implementan la
visualizacin de stdout y stderr al mismo dispositivo, en la mayora de los casos la
pantalla.
Tambin es posible usar scripts, es decir, archivos con instrucciones guardadas como si se
estuviesen escribiendo en el momento. En caso de error, la ejecucin del script puede
abortarse. De esta forma, la lnea de comandos puede utilizarse sin siquiera tener que lidiar
con el prompt, ni estando presente frente al monitor o teclado.
Implementaciones[editar]
Casi cualquier programa puede disearse para ofrecer al usuario alguna clase de intrprete de
instrucciones. Por ejemplo, algunos videojuegos para PC en primera persona tienen un
intrprete de rdenes incorporado, conocido comnmente como consola (no confundir
con Videoconsola), utilizado para diagnstico y labores administrativas. Quake, Unreal
Tournament, Ragnarok Online o Battlefield son algunos ejemplos. A veces la consola es el
nico medio para reparar problemas.
Cuando se trata de un programa que interacta con el kernel de un sistema operativo se le
llama con frecuencia shell. Algunos ejemplos son los diversas shell de Unix
(ksh, csh, tcsh, Bourne Shell, etc.), el histrico CP/M, y el command.com de DOS, estos dos
ltimos fuertemente basados en las CLI de RSTS y RSX-11, sistemas operativos del PDP-
11 de DEC. El sistema operativo Windows Vista prometa una CLI llamada Windows
PowerShell, que combinaba caractersticas de las tradicionales shells de Unix con
su framework orientado a objetos .NET. Este desarrollo no fue integrado por defecto en el
sistema operativo, en especial debido a sus riesgos de seguridad iniciales. 2
Las implementanciones de lenguajes interpretados suelen ofrecer tambin un ambiente de
trabajo basado en CLI. En estos ambientes se crea una instancia de la mquina virtual con la
que el usuario puede interactuar.
Algunas aplicaciones proporcionan tanto una CLI como una GUI. Un ejemplo es el programa
de CAD AutoCAD. El paquete cientfico/ingenieril de computacin numrica Matlab no
proporciona GUI para algunos clculos, pero la CLI puede realizar cualquier clculo. El
programa de modelado tridimensional Rhinoceros 3D (que se usa para disear las cajas de la
mayor parte de los telfonos porttiles, as como miles de otros productos industriales)
proporciona una CLI (cuyo lenguaje, por cierto, es distinto del lenguaje scripts de Rhino). En
algunos entornos informticos, como la interfaz de usuario de Smalltalk u Oberon, la mayor
parte del texto que aparece en la pantalla se puede usar para dar rdenes.
Estndar de invocacin[editar]
No existe ninguna normativa obligatoria en cuanto al formato de invocacin (escritura y
ejecucin) o a la documentacin que las aplicaciones o funciones deben presentar. No
obstante, se han acuado estndares informales al momento de definir formas. El ms
importante consiste en la utilizacin de corchetes [ ] para indicar parmetros opcionales. Estos
pueden anidarse ([..[..]]). Por ejemplo, la documentacin de la aplicacin cal de POSIX dice
que la forma de ejecutarse por medio del CLI es:
cal [[mes] ao ]
Esto significa que si se desea ver el ao 2012, tendra que escribirse literalmente:
cal 2012
Ejemplos de interaccin[editar]
La instruccin para listar archivos, en diversos entornos:
Programa o sistema
Orden Tipo de programa
operativo
Una interfaz textual de usuario consiste en una interfaz grfica hecha enteramente de
texto. No es lo mismo que un CLI, aunque ambos usan el mismo perifrico.