stringtranslate.com

Finalización de la 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 .

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

Los intérpretes de línea de comandos son programas que permiten a un usuario interactuar con el sistema operativo subyacente escribiendo comandos en un símbolo del sistema utilizando 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 la 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 finalización de la línea de comandos es útil de varias maneras, como lo ilustra la animación que acompaña a este artículo. Los comandos a los que se accede habitualmente, especialmente los que tienen nombres largos, requieren menos pulsaciones de teclas para acceder. Se pueden ingresar comandos con nombres de archivo largos o difíciles de deletrear escribiendo los primeros caracteres y presionando una tecla de finalización, que completa el comando o nombre de archivo. En el caso de múltiples completaciones posibles, algunos intérpretes de línea de comandos, especialmente shells de Unix, enumerarán todas las completaciones posibles comenzando con esos pocos caracteres. El usuario puede escribir más caracteres y presionar nuevamente para ver una nueva lista reducida si los caracteres escritos aún son ambiguos, o bien completar el comando/nombre de archivo con un espacio al final. Una forma alternativa de finalización 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 no es ambigua. El nombre de finalización con tabulación proviene del hecho de que la finalización de la línea de comandos a menudo se invoca presionando la tecla tab .

Historia

La finalización de pestañas apareció temprano en la historia de la informática; Uno de los primeros ejemplos apareció en Berkeley Timesharing System para el SDS 940 , donde si una cadena escrita fuera ambigua, el intérprete no haría nada, pero si la cadena no era ambigua, la completaría automáticamente sin ningún comando del usuario. Esta característica no funcionó bien con los errores tipográficos tan frecuentes , por lo que fue una bendición a medias. Esta característica fue imitada por los desarrolladores de Tenex que hicieron un cambio importante: Tenex usó "reconocimiento de escape", en el que el intérprete no intentaría completar automáticamente a menos que el usuario presionara la tecla de escape (de ahí el nombre). El dominio también se amplió de solo nombres de programas en el sistema Berkeley a nombres de programas y archivos en Tenex. [1] El descendiente de Tenex, TOPS-20, movió la finalización de la línea de comandos del intérprete de comandos al sistema operativo a través de la llamada al sistema COMND JSYS, para que esté disponible para otras aplicaciones de usuario. [2] De allí fue tomado prestado por Unix.

Ejemplo

Para abrir el archivo introducción-a-command-line-completion.html con Firefox se escribiría:

Introducción a Firefox para completar la línea de comando.html

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

Solicitar finalización

El siguiente ejemplo muestra cómo funciona la finalización de la línea de comandos en Bash . Otros shells de línea de comando pueden funcionar de manera ligeramente diferente.

Primero escribimos las tres primeras letras de nuestro comando:

abeto

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

firefox

Luego comenzamos a escribir el nombre del archivo:

firefox yo

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

introducción a Firefox

Ahora escribimos "c":

Introducción a Firefox en C

Después de presionar, se completará con el nombre de archivo completo:Tab ↹

Introducción a Firefox para completar la línea de comando.html

En resumen escribimos:

abeto i cTab ↹Tab ↹Tab ↹

Esto son solo ocho pulsaciones de teclas, lo que es considerablemente menos de las 52 pulsaciones de teclas que habríamos necesitado para escribir sin utilizar la finalización de la línea de comandos.

Finalización rotativa

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

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

firefox yo

Pulsamos una vez, con el resultado:Tab ↹

Introducción de Firefox a bash.html

Pulsamos de nuevo, consiguiendo:Tab ↹

Introducción a Firefox para completar la línea de comando.html

En resumen escribimos:

abeto yoTab ↹Tab ↹Tab ↹

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

Finalización en diferentes interfaces de línea de comando.

Ver también

Referencias

  1. ^ "Orígenes y desarrollo de TOPS-20". www.opost.com . Archivado desde el original el 1 de agosto de 2020 . Consultado el 10 de septiembre de 2006 .
  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". eswww.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 Unix

Intérpretes de comandos de Windows

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