Histórico y compleción de comandos

No se tarda mucho hasta que teclear el mismo comando repetidamente se vuelve aburrido.

Los usuarios de Linux no son diferentes. En Linux, como se pueden juntar varios comandos en la shell, un error menor en un para de líneas puede significar que todo ha sido en vano.

Hay una solución: se llama histórico de comandos. Navegando con las flechas de arriba y abajo, se pueden ver comandos anteriores -- incluyendo los erróneos.

Váse un ejemplo utilizando sneakers.txt. La primera vez, en la shell se teclea:

cat sneakrs.txt
	  

Nada ocurre, por supuesto, porque no hay archivo sneakrs.txt. Sin problemas. Se usa la flecha arriba para ver el comando, usando la flecha a la izquierda se va donde se omitió la "e". Se inserta la letra y se pulsa Enter again.

Voila! Ahora se ve el contenido de sneakers.txt.

Por defecto hastaa 500 comandos son almacenados por bash en el histórico.

SugerenciaViendo variables de entorno
 

Al teclear env en la shell, se puede ver la variable que controla el tamaño del histórico. La línea que dice, HISTFILESIZE=500 muestra el número de comandos que bash almacenará.

El histórico history se guarda en un archivo, llamado .bash_history en el directorio de login. Se puede ver de varias formas: usando pico, cat, less, more, u otros.

Hay que estar preparado: el archivo puede ser largo.

Con more:

more .bash_history
	  

Para avanzar, pulse Space; para retroceder screen, púlsese B; para salir, púlsese Q.

SugerenciaLocalizando un comando ya tecleado
 

¿Quiere econtrarse un comando sin pulsar las flechas o navegar por el histórico? veaése grep, una potente utilidad de búsqueda. Así se puede encontrar un comando previo: si se busca un comando como cat sneak-algo. Ya se ha usado y estará en el histórico. En la shell teclear:

history | grep sneak
        

Junto al comando tecleado, se verá el comando buscado, porque grep ha buscado en el histórico cada ocurrencia de la palabra "sneak". Se puede aprender más sobre grep más tarde en este capítulo, cuando se estudia como buscar información en archivos.

Otra característica tremendamente útil es compleción de comandos. Si se teclea parte del nombre de un comando, archivo o path y se pulsa Tab, bash mostrará el resto del nombre del archivo /path, o un bip. Si suena el bip, púlsese Tab otra vez para ver una lista de los archivos/paths que encajan con el patrón ya tecleado.

Por ejemplo, si se olvida el comando updatedb, pero se recuerda porque empieza, se puede hacer su a root, y en la shell, teclear up, pulsar dos veces Tab y se verá una lista de posibles valores, incluyendo updatedb y uptime. Al añadir "d" a up y pulsar Tab otra vez, el comando es completado totalmente.

Así que incluso si se apaga el ordenador por la noche, no es difícil actualizar la base de datos slocate: Las posibilidades de que el comando está almacenado en el histórico o pueda completarse fácilmente (siempre que se recuerde como empieza).