Está en la página 1de 5

Interfaz de lnea de comandos

(Redirigido desde Lnea de comandos)

Evolucin de las intefaces de usuario.


CLI (Command line interface): Interfaz de lnea de comandos
GUI (Graphical user interface): Interfaz grfica de usuario
NUI (Natural user interface): Interfaz natural de usuario

Una tpica CLI encontrada en las interfaces grficas de diversos sistemas operativos, para ejecutar
aplicaciones a travs de un intrprete de comandos.

La interfaz de lnea de comandos o interfaz de lnea de rdenes (en ingls, command-line


interface, CLI) es un mtodo que permite a los usuarios dar instrucciones a algn programa
informtico por medio de una lnea de texto simple. Debe notarse que los conceptos de
CLI, shell y emulador de terminal no son lo mismo ya que CLI es un mtodo mientras
que shell y emulador de terminal son programas informaticos. Sin embargo los tres suelen
utilizarse como sinnimos.
Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie
de entrada de texto, o pueden utilizarse de una forma mucho ms automatizada
(archivo batch), leyendo rdenes desde un archivo de scripts.
Esta interfaz existe casi desde los comienzos de la computacin, superada en antigedad solo
por las tarjetas perforadas y mecanismos similares. Existen para diversos programas y
sistemas operativos, para diverso hardware, y con distinta funcionalidad.
Por ejemplo, las CLI son parte fundamental de los shells o emuladores de terminal. Aparecen
en todas las interfaces de escritorio (GNOME, KDE, Microsoft Windows) como un mtodo para
ejecutar aplicaciones rpidamente. Aparecen como interfaz de lenguajes interpretados tales
como Java, Python, Ruby o Perl. Tambin se utilizan en aplicaciones cliente-servidor,
en gestores de bases de datos, en clientes FTP, etc. Las CLI son un elemento fundamental de
aplicaciones de ingeniera tan importantes como MATLAB y AutoCAD.
La contraparte de CLI es la interfaz grfica de usuario (GUI) que ofrece una esttica mejorada
y una mayor simplificacin, a costa de un mayor consumo de recursos computacionales, y, en
general, de una reduccin de la funcionalidad alcanzable. Asimismo aparece el problema de
una mayor vulnerabilidad dada su complejidad.
Las CLI son usadas por muchos programadores y administradores de sistemas como
herramienta primaria de trabajo, especialmente en sistemas operativos basados en Unix; en
entornos cientficos y de ingeniera, y un subconjunto ms pequeo de usuarios domsticos
avanzados.
En dispositivos porttiles y PDA, las CLI no se utilizan, debido a lo complejo que resulta
ingresar datos de texto, o por la ausencia total de teclados.

ndice
[ocultar]

1Historia

2Funcionamiento

3Implementaciones

4Estndar de invocacin

5Ejemplos de interaccin

6Interfaz textual de usuario

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]

Esquema de elementos involucrados en una lnea de rdenes.

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

Bourne ls Shell de Unix

CMD dir Shell de Windows

AmigaDOS (shell de AmigaOS/MorphOS/AROS


NewShell list o dir
)

Matlab dir Procesamiento matricial

Quake /dir Videojuego para PC

TACL FILEINFO Shell de Guardin

Python Shell os.listdir('.') Python, lenguaje de alto nivel

Interfaz textual de usuario[editar]


Artculo principal: Interfaz de texto

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.

También podría gustarte