stringtranslate.com

Completar línea de comandos

Ejemplo de finalización de línea de comandos en Bash .
Ejemplo de finalización de línea de comandos en PowerShell con Intellisense .

El autocompletado de línea de comandos (también autocompletado de tabulación ) es una característica común de los intérpretes de línea de comandos , en la que el programa completa automáticamente los comandos parcialmente escritos.

Los intérpretes de línea de comandos son programas que permiten al usuario interactuar con el sistema operativo subyacente escribiendo comandos en un símbolo del sistema mediante una interfaz de línea de comandos (CLI), en contraste con apuntar y hacer clic con el mouse en una interfaz gráfica de usuario (GUI). La finalización de línea de comandos permite al usuario escribir los primeros caracteres de un comando, programa o nombre de archivo y presionar una tecla de finalización (normalmente Tab ↹) para completar el resto del elemento. Luego, el usuario presiona o para ejecutar el comando o abrir el archivo.Return↵ Enter

La función de completar líneas de comandos es útil de varias maneras, como se ilustra en la animación que acompaña a este artículo. Los comandos a los que se accede con frecuencia, especialmente aquellos con nombres largos, requieren menos pulsaciones de teclas para llegar a ellos. Los comandos con nombres de archivo largos o difíciles de deletrear se pueden ingresar escribiendo los primeros caracteres y presionando una tecla de completar, que completa el comando o el nombre de archivo. En el caso de múltiples posibles opciones de completar, algunos intérpretes de línea de comandos, especialmente los shells de Unix, enumerarán todas las opciones de completar comenzando con esos pocos caracteres. El usuario puede escribir más caracteres y presionar nuevamente para ver una lista nueva y acotada si los caracteres escritos aún son ambiguos, o bien completar el comando/nombre de archivo con un espacio final. Una forma alternativa de completar rota entre todos los resultados coincidentes cuando la entrada es ambigua.Tab ↹

Los elementos completables pueden incluir comandos, argumentos, nombres de archivos y otras entidades, según el intérprete específico y su configuración. La finalización de la línea de comandos generalmente solo funciona en modo interactivo . Es decir, no se puede invocar para completar comandos parcialmente escritos en scripts o archivos por lotes , incluso si la finalización es inequívoca. El nombre de finalización de tabulación proviene del hecho de que la finalización de la línea de comandos a menudo se invoca presionando la tecla de tabulación .

Historia

La función de autocompletar tabulaciones apareció en los inicios de la historia de la informática; uno de los primeros ejemplos apareció en el Berkeley Timesharing System para el SDS 940 , donde si una cadena tipeada era ambigua, el intérprete no hacía nada, pero si la cadena no era ambigua, la completaba automáticamente sin ninguna orden del usuario. Esta característica no funcionaba bien con los errores tipográficos demasiado frecuentes , por lo que era una bendición a medias. Esta característica fue imitada por los desarrolladores de Tenex , que realizaron un cambio importante: Tenex utilizó "reconocimiento de escape", en el que el intérprete no intentaría autocompletar a menos que el usuario presionara la tecla de escape (de ahí el nombre). El dominio también se expandió de solo nombres de programas en el sistema Berkeley a nombres de programas y archivos en Tenex. [1] El descendiente de Tenex, TOPS-20, trasladó la función de autocompletar línea de comandos del intérprete de comandos al sistema operativo a través de la llamada al sistema COMND JSYS, para que estuviera disponible para otras aplicaciones de usuario. [2] De ahí fue tomado prestado por Unix.

Ejemplo

Para abrir el archivo introduction-to-command-line-completion.html con Firefox se debe escribir:

Introducción a la finalización de la línea de comandos en Firefox

Este es un comando largo de escribir. En su lugar, podemos utilizar la función de completar la línea de comandos.

Incitación a la finalización

El siguiente ejemplo muestra cómo funciona la finalización de línea de comandos en Bash . Es posible que otros shells de línea de comandos funcionen de forma ligeramente diferente.

Primero escribimos las tres primeras letras de nuestro comando:

abeto

Luego presionamos y como el único comando en nuestro sistema que comienza con "fir" es "firefox", se completará a:Tab ↹

Firefox

Luego comenzamos a escribir el nombre del archivo:

Firefox yo

Pero esta vez, introduction-to-command-line-completion.html no es el único archivo del directorio actual que comienza con "i". El directorio también contiene los archivos introduction-to-bash.html e introduction-to-firefox.html . El sistema no puede decidir cuál de estos nombres de archivo queremos escribir, pero sí sabe que el archivo debe comenzar con "introduction-to-", por lo que el comando se completará de la siguiente manera:

Introducción a Firefox

Ahora escribimos "c":

Introducción a Firefox C

Después de presionarlo se completará el nombre completo del archivo:Tab ↹

Introducción a la finalización de la línea de comandos en Firefox

En resumen, escribimos:

abeto yo cTab ↹Tab ↹Tab ↹

Se trata de tan solo ocho pulsaciones de teclas, lo que es considerablemente menos que las 52 pulsaciones de teclas que habríamos necesitado para escribir sin utilizar la función de autocompletar de línea de comandos.

Finalización rotatoria

El siguiente ejemplo muestra cómo funciona la finalización de la línea de comandos con la finalización rotativa, tal como la utiliza CMD de Windows .

Seguimos el mismo procedimiento que para solicitar la finalización hasta que tengamos:

Firefox yo

Presionamos una vez, con el resultado:Tab ↹

Introducción a Bash en Firefox

Presionamos nuevamente, obteniendo:Tab ↹

Introducción a la finalización de la línea de comandos en Firefox

En resumen, escribimos:

Abeto yoTab ↹Tab ↹Tab ↹

Se trata de solo siete pulsaciones de teclas, comparables a la finalización con indicaciones. Esto funciona mejor si sabemos entre qué posibilidades rotará el intérprete.

Finalización en diferentes interfaces de línea de comandos

Véase también

Referencias

  1. ^ "Orígenes y desarrollo del TOPS-20". www.opost.com . Archivado desde el original el 2020-08-01 . Consultado el 2006-09-10 .
  2. ^ Guía del lenguaje ensamblador DECSYSTEM-20
  3. ^ ab "Trabajar de forma más productiva con bash 2.x/3.x". www.caliban.org .
  4. ^ "Manual de referencia de Bash". tiswww.case.edu .
  5. ^ "Índice de /gnu/bash". ftp.swin.edu.au .
  6. ^ "El chico de PowerShell". thepowershellguy.com .
  7. ^ "El chico de PowerShell". thepowershellguy.com .
  8. ^ "Simon Peyton Jones en Microsoft Research". Microsoft .

Enlaces externos

Conchas de Unix

Intérpretes de comandos de Windows

(Asegúrese de revisar la sección "Se aplica a" en cada artículo)