Interfaz de línea de comandos

Una interfaz de línea de comando o CLI ( interfaz de línea de comando en inglés , comúnmente abreviada CLI ) es una interfaz hombre-máquina en la que la comunicación entre el usuario y la computadora tiene lugar en modo de texto  :

Una interfaz de línea de comandos se puede utilizar tanto para iniciar la ejecución de varios software mediante un intérprete de comandos , como para diálogos con el usuario de estos software. Es la interacción fundamental entre un ser humano y una computadora (o cualquier otro equipo informático).

Cuando una interfaz está lista para recibir un comando, lo indica con un símbolo del sistema . Esto, a veces denominado anglicismo rápido , consta de unos pocos caracteres al comienzo de una línea (generalmente el nombre de la cuenta del usuario y / o la unidad lógica predeterminada , y / o la ruta predeterminada., Y / o la fecha ...), terminando con un carácter conocido (a menudo “  ]  ”, “  #  ”, “$” o “  >  ”), invitando al usuario a escribir un comando.

Histórico

La interfaz de línea de comandos es la más antigua de las interfaces conversacionales desarrolladas en computadoras. Antes de eso, las computadoras trabajaban en el procesamiento por lotes  : los datos registrados en una serie de tarjetas perforadas o cintas perforadas se enviaban a la computadora . Estos datos le dijeron a la computadora qué programas ejecutar y qué información tenían que ejecutar esos programas. El resultado del procesamiento (exitoso o incorrecto) se imprimió sin que se hubiera producido ningún diálogo con el usuario.

La aparición de los teletipos en la década de 1960 , y luego las consolas de la década de 1970 , que son dispositivos que reciben y envían caracteres a la computadora, permitieron el trabajo informático en forma de sesiones . El diálogo entre el usuario y la computadora se llevó a cabo en la línea de comando.

A partir de la década de 1980 , la aparición de terminales en modo gráfico y de ratones permitió el desarrollo de interfaces gráficas , más apreciadas por el público en general, quizás porque no requerían aprender los nombres de diferentes comandos antes de d. 'Para usar una computadora. Este cambio de paradigma de la interfaz de línea de comandos a las interfaces gráficas de usuario (GUI) está vinculado en particular al lanzamiento por parte de Apple de Lisa enEnero de 1983, especialmente el Macintosh enEnero de 1984: estos dos modelos de ordenador son los primeros ordenadores públicos en general que utilizan interfaces tipo Windows, iconos, menús y dispositivo señalador (WIMP) , que se pueden manipular con el ratón y que utilizan la metáfora del escritorio en la pantalla . Sin embargo, especialmente en los sistemas operativos derivados de Unix , las interfaces de línea de comandos siguen siendo populares entre algunos científicos informáticos en la actualidad , dada la riqueza de sus posibilidades.

La interfaz de línea de comandos en Unix

Una de las peculiaridades del sistema operativo Unix , del que deriva Linux , es que, desde sus inicios, contaba con más de un centenar de programas software, muchas veces realizando procesos muy sencillos, todos los cuales se pueden utilizar desde la línea de comandos.

Sintaxis de comando general

Los comandos elementales bajo Unix son de la forma:

$> commande options fichiers_ou_données

El comando que aparece al principio de una línea es casi siempre el nombre de un programa. Este programa puede ser un comando del sistema operativo, un software escrito por el usuario (a menudo en lenguaje C ) o un shell . Unos comandos como el comando cd ( c ambio de de ossier / directorio ) no pueden abordarse adecuadamente mediante un software específico. En este caso, son ejecutados directamente por el intérprete de comandos .

Algunos de estos comandos se pueden ejecutar escribiendo solo su nombre en el teclado. Pero la mayoría de los comandos aceptan opciones (un guión seguido de una o más letras) que permiten que el comando se utilice en otro modo que no sea su modo de operación predeterminado. Finalmente, muchos comandos van seguidos de uno o más nombres de archivo , directorio u otro, con el que funcionarán. Toda la información separada por espacios a la derecha del nombre del comando se denomina argumentos de línea de comando .

El lenguaje C fue diseñado para facilitar la recuperación de argumentos de línea de comando del software que los usa.

Finalmente, para saber cómo utilizar un software, se pone a disposición del usuario una documentación ( páginas Man ). Se usa precediendo el comando con man .

Opción

Una o más de las opciones de la línea de comando (a veces también llamada bandera ) cambia la forma en que funciona un comando. El efecto de la opción depende del orden. Por lo general, las opciones siguen inmediatamente al nombre del comando en la línea de comandos y están separadas entre sí por espacios.

El formato de las opciones es muy variable. Muy a menudo, la sintaxis utilizada se basa en una convención más que en un requisito del sistema operativo. La mayoría de las veces, en Unix, las opciones son introducidas por - y distinguen entre mayúsculas y minúsculas. Los monogramas son comunes, pero los programas recientes tienden a ofrecer opciones con nombres más largos y claros.

Es imposible saber a priori qué opciones reconoce un programa, a menos que consultes su documentación. Sin embargo, es una práctica común (pero no siempre) que un programa muestre un resumen de sus opciones cuando se inicia desde la línea de comando con una de las siguientes opciones :? ; -? ; -h ; /? ; / h ; -ayuda ; o --ayuda .

Redireccionamientos de E / S

De forma predeterminada, los comandos conversacionales recuperan datos escritos por el usuario en el teclado. El resultado de su ejecución se muestra en la pantalla. En caso de error durante la ejecución, también aparecen mensajes de error en la pantalla.

Es posible indicar al shell que los datos de entrada o salida deben recuperarse / almacenarse en archivos en lugar de hacerlo en el teclado y la pantalla. Para ello, están disponibles diferentes tipos de redireccionamiento de entrada / salida:

Ejemplos:

sort monfichier

muestra las líneas del archivo myfile en orden alfabético en la pantalla . Si el archivo myfile no existe, aparece un mensaje de error en la pantalla.

sort monfichier > resultat 2> problemes

almacena en el archivo de resultados las líneas del archivo myfile clasificadas en orden alfabético. Si el archivo myfile no existe, aparece un mensaje de error en el archivo de problemas .

Secuencia de comandos

Los sistemas operativos de tipo Unix permiten la ejecución de varios comandos. La salida de datos de un comando se usa como entrada para el siguiente comando sin la necesidad de archivos intermedios.

La sintaxis general es:

commande1 options arguments | commande2 options | commande3...

Ejemplo:

find / -size +1000k -mtime -7 | sort | tee trace | less

En una sola línea de comando, el comando anterior busca en todos los directorios de la computadora archivos de más de 1000 kilobytes modificados durante los últimos 7 días, los muestra página a página con la posibilidad de moverse en la lista de rutas rutas ordenadas alfabéticamente order, y también almacena estas rutas en el archivo de seguimiento .

Metacaracteres

Los metacaracteres se pueden usar en líneas de comando para expresar nombres de archivos que tienen una parte común:

Ejemplos:

Usar el resultado de un comando como argumento de otro

El `que rodea a un comando permite que el resultado de este comando se use como argumento (s) en la línea de comando.

Ejemplos:

$> echo "Nous sommes le" `date +%d/%m/%y` "et il est" `date +%H:%M:%S`

muestra una oración que contiene la fecha y hora actuales. Para ello, el comando de fecha se ejecuta dos veces con un formato de salida diferente.

$> echo "2 + 2 =" `expr 2 + 2`

muestra 2 + 2 = 4 después de realizar el cálculo.

Otras particularidades

La interfaz de línea de comandos de MS / DOS

MS-DOS se creó a principios de la década de 1980 . Funciona desde la línea de comandos con el mismo tipo de sintaxis que los comandos de Unix. Pero la lista de comandos disponibles en MS-DOS es mucho menor.

Algunos comandos como sort juegan el mismo papel en Unix y en MS-DOS.

Otros comandos tienen nombres diferentes en los dos sistemas operativos. Entonces el comando de búsqueda  :

Las líneas de comando de MS-DOS tienen básicamente la misma sintaxis que los comandos de Unix, pero las posibilidades son más limitadas.

MS-DOS permite:

La interfaz de línea de comandos de Windows NT

cmd.exe es la interfaz de línea de comandos para los sistemas operativos de la familia Windows NT (incluidos Microsoft Windows 2000 , Microsoft Windows XP , Microsoft Windows Vista …). Es una evolución de la interfaz MS-DOS .

Con Windows Vista , aparece un nuevo entorno de línea de comandos de Windows PowerShell , que también ejecuta Windows XP SP2.

Notas y referencias

  1. Thierry Benjamin , Dar para ver, dejar actuar. La invención de la interactividad gráfica y el concepto de usuario en la informática y las telecomunicaciones en Francia (1961-1990) , París (Francia),10 de diciembre de 2013, 1019  p. ( SUDOC  176590951 , leído en línea ) , “La interfaz gráfica de Wimp, un nuevo paradigma dominante de interacción hombre-máquina”, p.  604-605

Artículos relacionados