13.12. Histórico de comandos y utilización del tabulador

No se tarda mucho, pero teclear el mismo comando una vez tras otra no es muy divertido. En Linux, como se pueden encadenar comandos en el intérprete de comandos de la shell, un error mínimo de escritura, puede arruinar líneas enteras de comandos.

Una buena solución es la de usar el histórico de comandos de la línea. Desplazándose con las teclas de [flecha arriba] y [flecha abajo], puede encontrar la mayoría de los comandos que ha escrito.

Inténtelo echándole un vistazo de nuevo a sneakers.txt (creado en la Sección 13.9.1. La primera vez, sin embargo, en el intérprete de comandos, escriba:

cat sneakrs.txt

Por supuesto que no sucede nada, ya que no hay ningún archivo sneakrs.txt. No hay problema. Use la flecha para ir hacia arriba para ver el comando, use la flecha para ir a la izquierda para ir a donde omitió la "e". Inserte la letra y pulse [Intro] de nuevo.

En este momento vemos los contenidos de sneakers.txt.

Por defecto, se pueden almacenar hasta 500 comandos en el archivo histórico de la línea de comandos bash.

SugerenciaSugerencia
 

Escribiendo env en el intérprete de comandos de la shell, verá la variable de entorno que controla el tamaño de la línea histórica de comandos. La línea HISTFILESIZE=500 muestra el número de comandos que bash almacenará.

El histórico de la línea de comandos se guarda en un archivo, llamado .bash_history en el directorio de login. Se puede ver de varias formas: usando vi, cat, less, more, y otros.

Sepa que el archivo puede ser largo. Para leerlo con el comando more, desde su directorio principal escriba:

more .bash_history

Para avanzar en la pantalla, presione la [Barra espaciadora]; para devolverse presione [b]; para salir, presione [q].

SugerenciaSugerencia
 

Para encontrar un comando en su archivo histórico sin tener que seguir presionando las flechas direccionales, use grep, una utilidad potente de búsqueda (vea la Sección 13.11.3. ¿ Quiere encontrar un comando previo? Pongamos que está buscando un comando parecido a cat sneak-something. Ha utilizado el comando y piensa que podría estar en su archivo histórico. Escriba en el intérprete de comandos de la shell:

history | grep sneak

Otra herramienta que le ahorrará tiempo es la que conocemos por el nombre de 'completar comandos'. Si teclea parte del nombre de un comando, archivo, o recorrido y luego presiona la tecla [Tab], bash mostrará la parte que falta del nombre del archivo/recorrido, o sonará un bip. Si suena el bip, pulse [Tab] otra vez para obtener una lista de los archivos/recorridos que cumplen con el patrón ya tecleado.

Por ejemplo, si se olvida del comando updatedb, pero recuerda cómo empieza, puede hacer su en root y en la shell teclear up, pulsar dos veces [Tab] y verá una lista de las posibles finalizaciones, incluyendo updatedb y uptime. Al añadir el comando parcial upd y pulsar [Tab] otra vez, el comando se completa totalmente.