Llinia d'órdenes
{{Ficha de software}}

La '''llinia d'órdenes''' ({{lang-en|command-line interface}}, '''CLI''') ye un [[Interfaz d'usuariu|métodu]] que dexa a los usuarios dar instrucciones a dalgún [[Software|programa informáticu]] per mediu d'una llinia de testu simple. Tien De notase que los conceutos de CLI, ''[[Shell (informática)|shell]]'' y [[emulador de terminal]] nun son lo mesmo yá que ''CLI ye un <o>[[Metodología|método]]</o>'' ente que ''shell y emulador de terminal son <o>programes informáticos</o>.'' Sicasí los trés suelen utilizase como sinónimos.

Les CLI pueden emplegase interactivamente, escribiendo instrucciones en dalguna especie de [[Cursor (informática)#Cursor de testu entrada de testu]], o pueden utilizase d'una forma muncho más automatizada ([[archivu batch|archivu ''batch'']]), lleendo órdenes dende un archivu de ''[[script]]s''.

Esta interfaz esiste casi dende los empiezos de la computación, superada n'antigüedá solo poles [[Tarxeta furada|tarxetes furaes]] y mecanismos similares. Esisten pa diversos programes y sistemes operativos, pa diversu ''[[hardware]]'', y con distinta funcionalidad.

Por casu, les CLI son parte fundamental de los ''shells'' o [[Emulador de terminal|emuladores de terminal]]. Apaecen en toles interfaces d'escritoriu ([[GNOME]], [[KDE]], [[Microsoft Windows]]) como un métodu pa executar aplicaciones rápido. Apaecen como interfaz de [[Llinguaxe de programación interpretáu|llinguaxes interpretaos]] tales como [[Java (llinguaxe de programación)|Java]], [[Python]], [[Ruby]] o [[Perl]]. Tamién s'utilicen n'aplicaciones vecera-servidor, en [[Sistema de xestión de bases de datos rellacionales|xestores de bases de datos]], en veceros [[File Transfer Protocol|FTP]], etc. Les CLI son un elementu fundamental d'aplicaciones d'inxeniería tan importantes como [[MATLAB]] y [[AutoCAD]].

La contraparte de CLI ye la [[interfaz gráfica d'usuariu]] (GUI) qu'ufierta una estética ameyorada y una mayor simplificación, a cuenta de un mayor consumu de recursos computacionales, y, polo xeneral, d'un amenorgamientu de la funcionalidad algamable. Coles mesmes apaez el problema d'una mayor [[Furacu de seguridá|vulnerabilidá]] dada la so complexidá.

Les CLI son usaes por munchos programadores y alministradores de sistemes como ferramienta primario de trabayu, especialmente en sistemes operativos basaos en [[Unix]]; en redolaes científiques y d'inxeniería, y un subconxuntu más pequeñu d'usuarios domésticos avanzaos.

En dispositivos portátiles y [[PDA]], les CLI nun s'utilicen, por cuenta de lo complexo que resulta ingresar datos de testu, o pola ausencia total de [[Tecláu (informática)|teclaos]].

== Historia ==
Nos primeros años de los ordenadores, y mientres la era de los ordenadores denominaos ''[[mainframes]]'', el control de la execución de los programes facer dende llugares especiales (de normal allugaos cerca del ordenador en sales con aire acondicionáu), onde l'alministrador manipoliaba direutamente la máquina.

[[Ficheru:Teletype-Fernschreiber T100 Siemens.jpg|thumb|left|Teletipu]]

Escribíase la orde nel tecláu y recibíase la respuesta impresa en papel. Estos sistemes basaos en teletipos dieron orixe a la primer forma eficiente d'interactuar con ordenadores: llinies de testu simple.

Col advenimiento del sistema operativu [[Unix]] a entamos de la década de 1970, l'usu de la llinia d'órdenes convirtióse nun estándar. Canonizáronse les regles d'execución basaes en [[Tubería (informática)|tuberíes]], peneráu d'archivos utilizando [[Calter comodín|comodinos]], y toes aquelles funcionalidades que dexaben les nacientes [[Shell (informática)|interfaces de testu]]. Los sistemes operativos que vendríen ([[CP/M]], [[DOS]]) adoptaríen como propies aquelles cualidaes.

Cola popularización de la [[ordenador personal]] na década de 1980, les aplicaciones entraron a un nuevu escenariu onde yá non se tenía que compartir los recursos del sistema con otros usuarios. Agora cada usuariu cuntaba cola so propia máquina, cola qu'interactuaba d'una forma muncho más personalizada. [[Apple]] y depués [[Microsoft]] llanzaron exitosamente al mercáu sistemes qu'esplotaben tolos conceutos visuales que fueren desenvueltos por [[Alan Kay]] y el so equipu del [[Xerox PARC|PARC]], esto ye, una interfaz gráfica pa controlar al ordenador per mediu d'un [[Ratón (informática)|ratón]].

Hasta l'actualidá les GUI permanecen como la interfaz dominante y les CLI como interfaz secundaria. Sicasí, el mesmu Dr. Alan Kay señaló que «ye necesariu desenvolver un nuevu tipu de interfaz» pa optimizar la rellación ente humanos y ordenadores.<ref>[http://www.ted.com/talks/lang/eng/alan_kay_shares_a_powerful_idea_about_idees.html Esposición de Alan Kay en TED 2007].</ref>

== Funcionamientu ==
[[Ficheru:Command-line-interface.svg|right|thumb|Esquema d'elementos arreyaos nuna llinia d'órdenes.]]

Na so forma más simple, una CLI consiste nun espaciu onde pueden escribise órdenes (polo xeneral, señalizáu con un ''[[prompt]]''). L'usuariu teclea una orde y executar al pasar a la llinia siguiente, utilizando la tecla [[Entrar (tecla)|Entrar]].

Les órdenes daes a la CLI son con frecuencia de la forma:

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

Al rematar y unviar la orde cola tecla Entrar, un módulu interpretador d'órdenes analiza la secuencia de calteres recibida y, si la sintaxis de la orde ye correuta, executa la orde dientro del contestu del programa o del sistema operativu onde s'atopa. Esta forma de trabayu ye secuencial, y equival a un tipu de [[programación]] pasu a pasu.

L'usuariu percibe'l procesamientu de les sos instrucciones en forma d'aición. Si al usuariu únviase-y esta información de procesamientu en forma de testu simple, entós llámase-y [[salida estándar]] o «stdout». L'usuariu tamién puede recibir un informe testual d'errores nuna canal especializada llamáu «stderr». Casi tolos [[Shell (informática)|''shells'']] implementen la visualización de «stdout» y «stderr» al mesmu [[Periféricu (informática)|dispositivu]], na mayoría de los casos la pantalla.

Tamién ye posible usar ''[[script]]s'', esto ye, archivos con instrucciones guardaes como si tuvieren escribiéndose nel momentu. En casu d'error, la execución del ''script'' puede albortase. D'esta forma, la llinia de comandos puede utilizase ensin siquier tener que trepar col prompt, nin tando presente frente al monitor o tecláu.

== Implementaciones ==
Casi cualquier programa puede diseñase pa ufiertar al usuariu dalguna clase d'intérprete d'instrucciones. Por casu, dalgunos [[videoxuegu|videoxuegos]] para [[Ordenador personal|PC]] en [[Primer persona (videoxuegos)|primer persona]] tienen un intérprete d'órdenes incorporáu, conocíu comúnmente como «consola» (nun confundir con [[Videoconsola]]), utilizáu pa diagnósticu y llabores alministrativos. [[Quake III Arena|''Quake'']], [[Unreal Tournament 2004|''Unreal Tournament'']], ''[[Ragnarok Online]]'' o [[Battlefield 2|''Battlefield'']] son dellos exemplos. Dacuando la consola ye l'únicu mediu pa reparar problemes.

Cuando se trata d'un programa que interactúa col [[Nucleu (informática)|''kernel'']] d'un [[sistema operativu]] llámase-y con frecuencia ''shell''. Dellos exemplos son los diverses ''shell'' de Unix ([[ksh]], [[csh]], [[tcsh]], [[Bourne Shell]], etc.), l'históricu [[CP/M]], y el [[command.com]] de [[DOS]], estos dos últimos fuertemente basaos nes CLI de RSTS y RSX-11, sistemes operativos del [[PDP-11]] de [[Digital Equipment Corporation|DEC]]. El sistema operativu [[Windows Vista]] prometía una ''CLI'' llamada [[Windows PowerShell]], que combinaba carauterístiques de les tradicionales ''shells'' de Unix col so [[framework]] empobináu a oxetos [[.NET]]. Esti desenvolvimientu nun foi integráu por defectu nel sistema operativu, cuantimás por cuenta de los sos riesgos de seguridá iniciales.<ref>http://www.zdnet.com/windows-vista-tool-targeted-by-virus-writers-3039212024/ ''Windows Vista tool targeted by virus writers'' (n'inglés).</ref>

Les implementanciones de [[Llinguaxe de programación interpretáu|llinguaxes interpretaos]] suelen ufiertar tamién un ambiente de trabayu basáu en CLI. Nestos ambientes créase una instancia de la [[máquina virtual]] cola que l'usuariu puede interactuar.

Delles aplicaciones apurren tantu una CLI como una GUI. Un exemplu ye'l programa de CAD [[AutoCAD]]. El paquete científicu/ingenieril de computación numbérica [[Matlab]] nun apurre GUI pa dellos cálculos, pero la CLI puede realizar cualquier cálculu. El programa de modeláu tridimensional [[Rhinoceros 3D]] (que s'usa pa diseñar les caxes de la mayor parte de los teléfonos portátiles, según miles d'otros productos industriales) apurre una CLI (que'l so llinguaxe, a éstes ye distintu del llinguaxe ''scripts'' de Rhino). En delles redolaes informátiques, como la interfaz d'usuariu de [[Smalltalk]] o [[sistema operativu Oberon|Oberon]], la mayor parte del testu qu'apaez na pantalla puede usase pa dar órdenes.

== Estándar de invocación ==
Nun esiste nenguna normativa obligatoria en cuanto al formatu de invocación (escritura y execución) o a la documentación que les aplicaciones o funciones tienen de presentar. Sicasí, acuñáronse estándares informales al momentu de definir formes. El más importante consiste nel usu de corchetes '''[ ]''' pa indicar parámetros opcionales. Estos pueden añerase ([..[..]]). Por casu, la documentación de l'aplicación [[Cal (Unix)|cal]] de [[POSIX]] diz que la forma d'executase per mediu del CLI ye:

:<code>cal [[mes] añu ]</code>

Esto significa que si se desea ver l'añu 2012, tendría qu'escribise lliteralmente:
:<code>cal 2012</code>

== Exemplos d'interaición ==
La instrucción pa listar archivos, en diverses redolaes:

{| {{tablaguapa}}
! Programa o sistema operativu
!Orde
!Tipu de programa
|-
| Bourne
| ls
| ''Shell'' de Unix
|-
| CMD
| dir
| ''Shell'' de Windows
|-
| NewShell
| list o dir
| [[AMIGAOS]] (''shell'' d'[[AMIGÁIVOS]]/[[MorphOS]]/[[AROS]])
|-
| Matlab
| dir
| Procesamientu matricial
|-
| ''Quake''
| /dir
| Videoxuegu pa PC
|-
| TACL
| FILEINFO
| ''Shell'' de Guardián
|-
|-
| Python Shell
| vos.listdir('.')
| [[Python]], llinguaxe d'altu nivel
|}

== Interfaz testual d'usuariu ==
{{AP|Interfaz de testu}}

Una interfaz testual d'usuariu consiste nuna interfaz gráfica fecha dafechu de testu. Nun ye lo mesmo qu'un CLI, anque dambos usen el mesmu periféricu.

== Ver tamién ==
* [[Interfaz d'usuariu]]
* [[Prompt]]

== Referencies ==
{{llistaref}}

== Bibliografía ==
* {{cita llibru |url=http://biblioweb.sindominio.net/telematica/command_ye/|títulu=Nel principiu... foi la llinia de comandos|nome=Neal|apellíu=Stephenson|enllaceautor=Neal Stephenson|añu=1999|fechaaccesu=18 d'abril de 2012}}

== Enllaces esternos ==
* [http://www.linuxtotal.com.mx/index.php?cont=info_shell_007 Entendiendo lo que son 'los d'una llinia'.]

{{ORDENAR:Linea de comandos}}

{{Tradubot|Interfaz de línea de comandos}}
{{control d'autoridaes}}
[[Categoría:Sistemes operativos]]
[[Categoría:Software de sistema]]
[[Categoría:Terminal d'ordenador]]
[[Categoría:Arquiteutura de software]]
La llinia d'órdenes (, CLI) ye un métodu que dexa a los usuarios dar instrucciones a dalgún programa informáticu per mediu d'una llinia de testu simple. Tien De notase que los conceutos de CLI, shell y emulador de terminal nun son lo mesmo yá que CLI ye un método ente que shell y emulador de terminal son programes informáticos. Sicasí los trés suelen utilizase como sinónimos.

Les CLI pueden emplegase interactivamente, escribiendo instrucciones en dalguna especie de Cursor (informática)#Cursor de testu entrada de testu, o pueden utilizase d'una forma muncho más automatizada (archivu batch), lleendo órdenes dende un archivu de scripts.

Esta interfaz esiste casi dende los empiezos de la computación, superada n'antigüedá solo poles tarxetes furaes y mecanismos similares. Esisten pa diversos programes y sistemes operativos, pa diversu hardware, y con distinta funcionalidad.

Por casu, les CLI son parte fundamental de los shells o emuladores de terminal. Apaecen en toles interfaces d'escritoriu (GNOME, KDE, Microsoft Windows) como un métodu pa executar aplicaciones rápido. Apaecen como interfaz de llinguaxes interpretaos tales como Java, Python, Ruby o Perl. Tamién s'utilicen n'aplicaciones vecera-servidor, en xestores de bases de datos, en veceros FTP, etc. Les CLI son un elementu fundamental d'aplicaciones d'inxeniería tan importantes como MATLAB y AutoCAD.

La contraparte de CLI ye la interfaz gráfica d'usuariu (GUI) qu'ufierta una estética ameyorada y una mayor simplificación, a cuenta de un mayor consumu de recursos computacionales, y, polo xeneral, d'un amenorgamientu de la funcionalidad algamable. Coles mesmes apaez el problema d'una mayor vulnerabilidá dada la so complexidá.

Les CLI son usaes por munchos programadores y alministradores de sistemes como ferramienta primario de trabayu, especialmente en sistemes operativos basaos en Unix; en redolaes científiques y d'inxeniería, y un subconxuntu más pequeñu d'usuarios domésticos avanzaos.

En dispositivos portátiles y PDA, les CLI nun s'utilicen, por cuenta de lo complexo que resulta ingresar datos de testu, o pola ausencia total de teclaos.

 Historia 
Nos primeros años de los ordenadores, y mientres la era de los ordenadores denominaos mainframes, el control de la execución de los programes facer dende llugares especiales (de normal allugaos cerca del ordenador en sales con aire acondicionáu), onde l'alministrador manipoliaba direutamente la máquina.

thumb|left|Teletipu

Escribíase la orde nel tecláu y recibíase la respuesta impresa en papel. Estos sistemes basaos en teletipos dieron orixe a la primer forma eficiente d'interactuar con ordenadores: llinies de testu simple.

Col advenimiento del sistema operativu Unix a entamos de la década de 1970, l'usu de la llinia d'órdenes convirtióse nun estándar. Canonizáronse les regles d'execución basaes en tuberíes, peneráu d'archivos utilizando comodinos, y toes aquelles funcionalidades que dexaben les nacientes interfaces de testu. Los sistemes operativos que vendríen (CP/M, DOS) adoptaríen como propies aquelles cualidaes.

Cola popularización de la ordenador personal na década de 1980, les aplicaciones entraron a un nuevu escenariu onde yá non se tenía que compartir los recursos del sistema con otros usuarios. Agora cada usuariu cuntaba cola so propia máquina, cola qu'interactuaba d'una forma muncho más personalizada. Apple y depués Microsoft llanzaron exitosamente al mercáu sistemes qu'esplotaben tolos conceutos visuales que fueren desenvueltos por Alan Kay y el so equipu del PARC, esto ye, una interfaz gráfica pa controlar al ordenador per mediu d'un ratón.

Hasta l'actualidá les GUI permanecen como la interfaz dominante y les CLI como interfaz secundaria. Sicasí, el mesmu Dr. Alan Kay señaló que «ye necesariu desenvolver un nuevu tipu de interfaz» pa optimizar la rellación ente humanos y ordenadores.Esposición de Alan Kay en TED 2007.

 Funcionamientu 
right|thumb|Esquema d'elementos arreyaos nuna llinia d'órdenes.

Na so forma más simple, una CLI consiste nun espaciu onde pueden escribise órdenes (polo xeneral, señalizáu con un prompt). L'usuariu teclea una orde y executar al pasar a la llinia siguiente, utilizando la tecla Entrar.

Les órdenes daes a la CLI son con frecuencia de la forma:

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

Al rematar y unviar la orde cola tecla Entrar, un módulu interpretador d'órdenes analiza la secuencia de calteres recibida y, si la sintaxis de la orde ye correuta, executa la orde dientro del contestu del programa o del sistema operativu onde s'atopa. Esta forma de trabayu ye secuencial, y equival a un tipu de programación pasu a pasu.

L'usuariu percibe'l procesamientu de les sos instrucciones en forma d'aición. Si al usuariu únviase-y esta información de procesamientu en forma de testu simple, entós llámase-y salida estándar o «stdout». L'usuariu tamién puede recibir un informe testual d'errores nuna canal especializada llamáu «stderr». Casi tolos shells implementen la visualización de «stdout» y «stderr» al mesmu dispositivu, na mayoría de los casos la pantalla.

Tamién ye posible usar scripts, esto ye, archivos con instrucciones guardaes como si tuvieren escribiéndose nel momentu. En casu d'error, la execución del script puede albortase. D'esta forma, la llinia de comandos puede utilizase ensin siquier tener que trepar col prompt, nin tando presente frente al monitor o tecláu.

 Implementaciones 
Casi cualquier programa puede diseñase pa ufiertar al usuariu dalguna clase d'intérprete d'instrucciones. Por casu, dalgunos videoxuegos para PC en primer persona tienen un intérprete d'órdenes incorporáu, conocíu comúnmente como «consola» (nun confundir con Videoconsola), utilizáu pa diagnósticu y llabores alministrativos. Quake, Unreal Tournament, Ragnarok Online o Battlefield son dellos exemplos. Dacuando la consola ye l'únicu mediu pa reparar problemes.

Cuando se trata d'un programa que interactúa col kernel d'un sistema operativu llámase-y con frecuencia shell. Dellos exemplos son los diverses shell de Unix (ksh, csh, tcsh, Bourne Shell, etc.), l'históricu CP/M, y el command.com de DOS, estos dos últimos fuertemente basaos nes CLI de RSTS y RSX-11, sistemes operativos del PDP-11 de DEC. El sistema operativu Windows Vista prometía una CLI llamada Windows PowerShell, que combinaba carauterístiques de les tradicionales shells de Unix col so framework empobináu a oxetos .NET. Esti desenvolvimientu nun foi integráu por defectu nel sistema operativu, cuantimás por cuenta de los sos riesgos de seguridá iniciales.http://www.zdnet.com/windows-vista-tool-targeted-by-virus-writers-3039212024/ Windows Vista tool targeted by virus writers (n'inglés).

Les implementanciones de llinguaxes interpretaos suelen ufiertar tamién un ambiente de trabayu basáu en CLI. Nestos ambientes créase una instancia de la máquina virtual cola que l'usuariu puede interactuar.

Delles aplicaciones apurren tantu una CLI como una GUI. Un exemplu ye'l programa de CAD AutoCAD. El paquete científicu/ingenieril de computación numbérica Matlab nun apurre GUI pa dellos cálculos, pero la CLI puede realizar cualquier cálculu. El programa de modeláu tridimensional Rhinoceros 3D (que s'usa pa diseñar les caxes de la mayor parte de los teléfonos portátiles, según miles d'otros productos industriales) apurre una CLI (que'l so llinguaxe, a éstes ye distintu del llinguaxe scripts de Rhino). En delles redolaes informátiques, como la interfaz d'usuariu de Smalltalk o Oberon, la mayor parte del testu qu'apaez na pantalla puede usase pa dar órdenes.

 Estándar de invocación 
Nun esiste nenguna normativa obligatoria en cuanto al formatu de invocación (escritura y execución) o a la documentación que les aplicaciones o funciones tienen de presentar. Sicasí, acuñáronse estándares informales al momentu de definir formes. El más importante consiste nel usu de corchetes [ ] pa indicar parámetros opcionales. Estos pueden añerase ([..[..]]). Por casu, la documentación de l'aplicación cal de POSIX diz que la forma d'executase per mediu del CLI ye:

cal [[mes] añu ]

Esto significa que si se desea ver l'añu 2012, tendría qu'escribise lliteralmente:
cal 2012

 Exemplos d'interaición 
La instrucción pa listar archivos, en diverses redolaes:

 Programa o sistema operativuOrdeTipu de programa Bourne ls Shell de Unix CMD dir Shell de Windows NewShell list o dir AMIGAOS (shell d'AMIGÁIVOS/MorphOS/AROS) Matlab dir Procesamientu matricial Quake /dir Videoxuegu pa PC TACL FILEINFO Shell de Guardián Python Shell vos.listdir('.') Python, llinguaxe d'altu nivel

 Interfaz testual d'usuariu 

Una interfaz testual d'usuariu consiste nuna interfaz gráfica fecha dafechu de testu. Nun ye lo mesmo qu'un CLI, anque dambos usen el mesmu periféricu.

 Ver tamién 
 Interfaz d'usuariu
 Prompt

 Referencies 

 Bibliografía 
 

 Enllaces esternos 
 Entendiendo lo que son 'los d'una llinia'.

Categoría:Sistemes operativos
Categoría:Software de sistema
Categoría:Terminal d'ordenador
Categoría:Arquiteutura de software