fbpx
Wikipedia

Interfaz de línea de comandos

La interfaz de línea de comandos o interfaz de línea de órdenes (en inglés, command-line interface, CLI) es un tipo de interfaz de usuario de computadora que permite a los usuarios dar instrucciones a algún programa informático o al sistema operativo por medio de una línea de texto simple. Debe notarse que los conceptos de CLI, shell y emulador de terminal no son lo mismo ya que CLI se refiere al paradigma, mientras que un shell o un emulador de terminal son programas informáticos específicos, que usualmente en conjunto implementan la CLI. Sin embargo, los tres suelen utilizarse como sinónimos.

Evolución de las intefaces de usuario.
CLI (Command line interface): Interfaz de línea de comandos
GUI (Graphical user interface): Interfaz gráfica de usuario
NUI (Natural user interface): Interfaz natural de usuario
Una típica CLI encontrada en las interfaces gráficas de diversos sistemas operativos, para ejecutar aplicaciones a través de un intérprete de comandos.

Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada (archivo batch), leyendo órdenes desde un archivo de scripts.

Esta interfaz existe casi desde los comienzos de la computación, superada en antigüedad 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 método para ejecutar aplicaciones rápidamente. Aparecen como interfaz de lenguajes interpretados tales como Java, Python, Ruby o Perl. También 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 ingeniería tan importantes como MATLAB y AutoCAD.

La contraparte de CLI es la interfaz gráfica de usuario (GUI) que ofrece una estética mejorada y una mayor simplificación, a costa de un mayor consumo de recursos computacionales, y, en general, de una reducción 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 científicos y de ingeniería, y un subconjunto más pequeño de usuarios domésticos avanzados.

En dispositivos portátiles y PDA, las CLI no se utilizan, debido a lo complejo que resulta ingresar datos de texto, o por la ausencia total de teclados.

Historia

En los primeros años de las computadoras, y durante la era de los computadores denominados mainframes, el control de la ejecución de los programas se hacía desde lugares especiales (normalmente ubicados cerca del computador en salas con aire acondicionado), donde el administrador manipulaba directamente la máquina.

 
Teletipo

Se escribía la orden en el teclado y se recibía la respuesta impresa en papel. Estos sistemas basados en teletipos dieron origen a la primera forma eficiente de interactuar con computadores: líneas de texto simple.

Con el advenimiento del sistema operativo Unix a inicios de la década de 1970, el uso de la línea de comandos se convirtió en un estándar. Se canonizaron las reglas de ejecución basadas en tuberías, filtrado de archivos utilizando comodines, y todas aquellas funcionalidades que permitían las nacientes interfaces de texto. Los sistemas operativos que vendrían (CP/M, DOS) adoptarían como propias aquellas cualidades.

Con la popularización de la computadora personal en la década de 1980, las aplicaciones entraron a un nuevo escenario donde ya no se tenía que compartir los recursos del sistema con otros usuarios. Ahora cada usuario contaba con su propia máquina, con la que interactuaba de una forma mucho más personalizada. Apple y luego Microsoft lanzaron exitosamente al mercado sistemas que explotaban todos los conceptos visuales que habían sido desarrollados por Alan Kay y su equipo del PARC, es decir, una interfaz gráfica para controlar al computador por medio de un ratón.

Hasta la actualidad las GUI permanecen como la interfaz dominante y las CLI como interfaz secundaria. No obstante, el mismo Dr. Alan Kay ha señalado que «es necesario desarrollar un nuevo tipo de interfaz» para optimizar la relación entre humanos y computadores.[1]

Funcionamiento

 
Esquema de elementos involucrados en una línea de órdenes.

En su forma más simple, una CLI consiste en un espacio donde se pueden escribir órdenes (por lo general, señalizado con un prompt). El usuario teclea una orden y la ejecuta al pasar a la línea siguiente, utilizando la tecla Entrar.

Las órdenes dadas a la CLI son con frecuencia de la forma:

PROMPT>aplicación [parametros] ficheros o URI...

Al finalizar y enviar la orden con la tecla Entrar, un módulo 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 programación paso a paso.

El usuario percibe el procesamiento de sus instrucciones en forma de acción. Si al usuario se le envía esta información de procesamiento en forma de texto simple, entonces se le llama salida estándar o «stdout». El usuario también puede recibir un informe textual de errores en un canal especializado llamado «stderr». Casi todos los shells implementan la visualización de «stdout» y «stderr» al mismo dispositivo, en la mayoría de los casos la pantalla.

También es posible usar scripts, es decir, archivos con instrucciones guardadas como si se estuviesen escribiendo en el momento. En caso de error, la ejecución del script puede abortarse. De esta forma, la línea de comandos puede utilizarse sin siquiera tener que lidiar con el prompt, ni estando presente frente al monitor o teclado.

Implementaciones

Casi cualquier programa puede diseñarse para ofrecer al usuario alguna clase de intérprete de instrucciones. Por ejemplo, algunos videojuegos para PC en primera persona tienen un intérprete de órdenes incorporado, conocido comúnmente como «consola» (no confundir con Videoconsola), utilizado para diagnóstico 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 interactúa 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 histórico 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 prometía una CLI llamada Windows PowerShell, que combinaba características 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 también un ambiente de trabajo basado en CLI. En estos ambientes se crea una instancia de la máquina 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 científico/ingenieril de computación numérica Matlab no proporciona GUI para algunos cálculos, pero la CLI puede realizar cualquier cálculo. El programa de modelado tridimensional Rhinoceros 3D (que se usa para diseñar las cajas de la mayor parte de los teléfonos portátiles, así como miles de otros productos industriales) proporciona una CLI (cuyo lenguaje, por cierto, es distinto del lenguaje scripts de Rhino). En algunos entornos informáticos, 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.

Estándar de invocación

No existe ninguna normativa obligatoria en cuanto al formato de invocación (escritura y ejecución) o a la documentación que las aplicaciones o funciones deben presentar. No obstante, se han acuñado estándares informales al momento de definir formas. El más importante consiste en la utilización de corchetes [ ] para indicar parámetros opcionales. Estos pueden anidarse ([..[..]]). Por ejemplo, la documentación de la aplicación cal de POSIX dice que la forma de ejecutarse por medio de la CLI es:

cal [[mes] año ]

Esto significa que si se desea ver el año 2012, tendría que escribirse literalmente:

cal 2012

Ejemplos de interacción

La instrucción para listar archivos, en diversos entornos:

Programa o sistema operativo Orden Tipo de programa
Bourne ls Shell de Unix
CMD dir Shell de Windows
NewShell list o dir AmigaDOS (shell de AmigaOS/MorphOS/AROS)
Matlab dir Procesamiento matricial
Quake /dir Videojuego para PC
TACL FILEINFO Shell de Guardián
Python Shell os.listdir('.') Python, lenguaje de alto nivel

Interfaz textual de usuario

Una interfaz textual de usuario consiste en una interfaz gráfica hecha enteramente de texto. No es lo mismo que un CLI, aunque ambos usan el mismo periférico.

Véase también

Referencias

  1. Exposición de Alan Kay en TED 2007.
  2. http://www.zdnet.com/windows-vista-tool-targeted-by-virus-writers-3039212024/ Windows Vista tool targeted by virus writers (en inglés).

Bibliografía

  • Stephenson, Neal (1999). En el principio... fue la línea de comandos. Consultado el 18 de abril de 2012. 

Enlaces externos

  • Entendiendo lo que son 'los de una línea'.


  •   Datos: Q189053

interfaz, línea, comandos, sugerido, este, artículo, sección, fusionado, intérprete, comandos, para, más, información, véase, discusión, hayas, realizado, fusión, contenidos, pide, fusión, historiales, aquí, esta, plantilla, sust, fusionar, nombre, hasta, otro. Se ha sugerido que este articulo o seccion sea fusionado con Interprete de comandos Para mas informacion vease la discusion Una vez que hayas realizado la fusion de contenidos pide la fusion de historiales aqui Uso de esta plantilla sust Fusionar Nombre de hasta otros veinte articulos para fusionar separados por La interfaz de linea de comandos o interfaz de linea de ordenes en ingles command line interface CLI es un tipo de interfaz de usuario de computadora que permite a los usuarios dar instrucciones a algun programa informatico o al sistema operativo por medio de una linea de texto simple Debe notarse que los conceptos de CLI shell y emulador de terminal no son lo mismo ya que CLI se refiere al paradigma mientras que un shell o un emulador de terminal son programas informaticos especificos que usualmente en conjunto implementan la CLI Sin embargo los tres suelen utilizarse como sinonimos Evolucion de las intefaces de usuario CLI Command line interface Interfaz de linea de comandosGUI Graphical user interface Interfaz grafica de usuarioNUI Natural user interface Interfaz natural de usuario Una tipica CLI encontrada en las interfaces graficas de diversos sistemas operativos para ejecutar aplicaciones a traves de un interprete de comandos Las CLI pueden emplearse interactivamente escribiendo instrucciones en alguna especie de entrada de texto o pueden utilizarse de una forma mucho mas automatizada archivo batch leyendo ordenes desde un archivo de scripts Esta interfaz existe casi desde los comienzos de la computacion superada en antiguedad 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 metodo para ejecutar aplicaciones rapidamente Aparecen como interfaz de lenguajes interpretados tales como Java Python Ruby o Perl Tambien 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 ingenieria tan importantes como MATLAB y AutoCAD La contraparte de CLI es la interfaz grafica de usuario GUI que ofrece una estetica mejorada y una mayor simplificacion a costa de un mayor consumo de recursos computacionales y en general de una reduccion 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 cientificos y de ingenieria y un subconjunto mas pequeno de usuarios domesticos avanzados En dispositivos portatiles y PDA las CLI no se utilizan debido a lo complejo que resulta ingresar datos de texto o por la ausencia total de teclados Indice 1 Historia 2 Funcionamiento 3 Implementaciones 4 Estandar de invocacion 5 Ejemplos de interaccion 6 Interfaz textual de usuario 7 Vease tambien 8 Referencias 9 Bibliografia 10 Enlaces externosHistoria EditarEn los primeros anos de las computadoras y durante la era de los computadores denominados mainframes el control de la ejecucion de los programas se hacia desde lugares especiales normalmente ubicados cerca del computador en salas con aire acondicionado donde el administrador manipulaba directamente la maquina Teletipo Se escribia la orden en el teclado y se recibia la respuesta impresa en papel Estos sistemas basados en teletipos dieron origen a la primera forma eficiente de interactuar con computadores lineas de texto simple Con el advenimiento del sistema operativo Unix a inicios de la decada de 1970 el uso de la linea de comandos se convirtio en un estandar Se canonizaron las reglas de ejecucion basadas en tuberias filtrado de archivos utilizando comodines y todas aquellas funcionalidades que permitian las nacientes interfaces de texto Los sistemas operativos que vendrian CP M DOS adoptarian como propias aquellas cualidades Con la popularizacion de la computadora personal en la decada de 1980 las aplicaciones entraron a un nuevo escenario donde ya no se tenia que compartir los recursos del sistema con otros usuarios Ahora cada usuario contaba con su propia maquina con la que interactuaba de una forma mucho mas personalizada Apple y luego Microsoft lanzaron exitosamente al mercado sistemas que explotaban todos los conceptos visuales que habian sido desarrollados por Alan Kay y su equipo del PARC es decir una interfaz grafica para controlar al computador por medio de un raton Hasta la actualidad las GUI permanecen como la interfaz dominante y las CLI como interfaz secundaria No obstante el mismo Dr Alan Kay ha senalado que es necesario desarrollar un nuevo tipo de interfaz para optimizar la relacion entre humanos y computadores 1 Funcionamiento Editar Esquema de elementos involucrados en una linea de ordenes En su forma mas simple una CLI consiste en un espacio donde se pueden escribir ordenes por lo general senalizado con un prompt El usuario teclea una orden y la ejecuta al pasar a la linea siguiente utilizando la tecla Entrar Las ordenes dadas a la CLI son con frecuencia de la forma PROMPT gt aplicacion parametros ficheros o URI Al finalizar y enviar la orden con la tecla Entrar un modulo interpretador de ordenes 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 programacion paso a paso El usuario percibe el procesamiento de sus instrucciones en forma de accion Si al usuario se le envia esta informacion de procesamiento en forma de texto simple entonces se le llama salida estandar o stdout El usuario tambien puede recibir un informe textual de errores en un canal especializado llamado stderr Casi todos los shells implementan la visualizacion de stdout y stderr al mismo dispositivo en la mayoria de los casos la pantalla Tambien es posible usar scripts es decir archivos con instrucciones guardadas como si se estuviesen escribiendo en el momento En caso de error la ejecucion del script puede abortarse De esta forma la linea de comandos puede utilizarse sin siquiera tener que lidiar con el prompt ni estando presente frente al monitor o teclado Implementaciones EditarCasi cualquier programa puede disenarse para ofrecer al usuario alguna clase de interprete de instrucciones Por ejemplo algunos videojuegos para PC en primera persona tienen un interprete de ordenes incorporado conocido comunmente como consola no confundir con Videoconsola utilizado para diagnostico y labores administrativas Quake Unreal Tournament Ragnarok Online o Battlefield son algunos ejemplos A veces la consola es el unico medio para reparar problemas Cuando se trata de un programa que interactua 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 historico CP M y el command com de DOS estos dos ultimos fuertemente basados en las CLI de RSTS y RSX 11 sistemas operativos del PDP 11 de DEC El sistema operativo Windows Vista prometia una CLI llamada Windows PowerShell que combinaba caracteristicas 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 tambien un ambiente de trabajo basado en CLI En estos ambientes se crea una instancia de la maquina 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 cientifico ingenieril de computacion numerica Matlab no proporciona GUI para algunos calculos pero la CLI puede realizar cualquier calculo El programa de modelado tridimensional Rhinoceros 3D que se usa para disenar las cajas de la mayor parte de los telefonos portatiles asi como miles de otros productos industriales proporciona una CLI cuyo lenguaje por cierto es distinto del lenguaje scripts de Rhino En algunos entornos informaticos como la interfaz de usuario de Smalltalk u Oberon la mayor parte del texto que aparece en la pantalla se puede usar para dar ordenes Estandar de invocacion EditarNo existe ninguna normativa obligatoria en cuanto al formato de invocacion escritura y ejecucion o a la documentacion que las aplicaciones o funciones deben presentar No obstante se han acunado estandares informales al momento de definir formas El mas importante consiste en la utilizacion de corchetes para indicar parametros opcionales Estos pueden anidarse Por ejemplo la documentacion de la aplicacion cal de POSIX dice que la forma de ejecutarse por medio de la CLI es cal mes ano Esto significa que si se desea ver el ano 2012 tendria que escribirse literalmente cal 2012Ejemplos de interaccion EditarLa instruccion para listar archivos en diversos entornos Programa o sistema operativo Orden Tipo de programaBourne ls Shell de UnixCMD dir Shell de WindowsNewShell list o dir AmigaDOS shell de AmigaOS MorphOS AROS Matlab dir Procesamiento matricialQuake dir Videojuego para PCTACL FILEINFO Shell de GuardianPython Shell os listdir Python lenguaje de alto nivelInterfaz textual de usuario EditarArticulo principal Interfaz de texto Una interfaz textual de usuario consiste en una interfaz grafica hecha enteramente de texto No es lo mismo que un CLI aunque ambos usan el mismo periferico Vease tambien EditarInterfaz de usuario Prompt Shell informatica Shell de Unix Interprete de comandosReferencias Editar Exposicion de Alan Kay en TED 2007 http www zdnet com windows vista tool targeted by virus writers 3039212024 Windows Vista tool targeted by virus writers en ingles Bibliografia EditarStephenson Neal 1999 En el principio fue la linea de comandos Consultado el 18 de abril de 2012 Enlaces externos EditarEntendiendo lo que son los de una linea Datos Q189053 Obtenido de https es wikipedia org w index php title Interfaz de linea de comandos amp oldid 136267321, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos