No hace falta mucho para que nos cansemos de teclear siempre el mismo
comando o que mientras tecleamos un recorrido largo como argumento de
un comando, por un pequeño error tengamos que volver a escribirlo todo de nuevo.
Los usuarios de Linux pueden encontrarse con el mismo problema. En Linux,
ya que puede unir comandos, un pequeño error al teclearlos significaría
haber escrito en vano esas líneas.
Pero aquí tiene una solución: llamada command-line
history. Utilizando los cursores, podrá volver a los
comandos tecleados con anterioridad -- incluso los que tecleó mal.
Volvamos a ver sneakers.txt. La primera vez, sin embargo,
en el prompt de la shell teclearemos:
No ocurrirá nada, obviamente, ya que el fichero sneakrs.txt
no existe. No hay ningún problema. Utilizaremos el cursor en alto para
volver al comando, y por tanto utilizaremos el cursor de la izquierda para volver
al punto en el que habiamos tecleado "e". Introduzca la letra e y pulseEnter
de nuevo.
¡Voila! Ahora veremos el contenido de sneakers.txt.
Por defecto en el fichero history de la bash
puede haber hasta 500 comandos.
 | Observar la variable de entorno |
|---|
| | Tecleando el comando env en el prompt de la shell, podemos
visualizar las variables de entorno que controlan la medida de la historia
en línea de comando. La línea que dice,
HISTFILESIZE=500 muestra el número de comandos
que la bash conservará.
|
La history de la linea de comando en realidad está contenida en un fichero,
que se llama .bash_history en el directorio de login. Podemos
leerlo de varias maneras: utilizando pico,
cat, less,
more, y otros.
Prepárese: el fichero podría ser bastante largo.
Leámoslo con more:
Para avanzar en la pantalla, pulse Espacio; para ir hacia atrás,
pulse B; para salir, pulse Q.
 | Localizar un comando utilizado con anterioridad |
|---|
| | ¿Quiere buscar un comando en el fichero history sin tener que pulsar una y
otra vez los cursores o consultar el fichero history? Puede utilizar
el comando grep, una potente utilidad para la busqueda.
He aquí cómo buscar rápidamente un comando utilizado con anterioridad: por
ejemplo queremos buscar el comando que se llama cat sneak-
y algo más. Ha utilizado el comando y piensa que está en el fichero history.
En el prompt de la shell, teclee:
Además del comando que acaba de teclear, verá el comando exacto, ya que
grep busca en el fichero history cualquier nombre en
el que aparezca la palabra "sneak".
Puede obtener más información sobre el comando grep
más adelante en este mismo capítulo, cuando hablemos de las herramientas
que pueden servir para leer ficheros.
|
Otro instrumento para evitar perder tiempo es el de completar
los comandos. Si teclea parte de un fichero, un comando o una
ruta y después pulsa la tecla Tab, la bash
le mostrará o la parte del nombre del fichero/ruta que falta o emitirá un bip.
Si escucha un bip, bastará con que pulse la tecla Tab para
obtener una lista de ficheros/rutas que se corresponden con lo que está tecleando.
Por ejemplo, si se olvida del comando updatedb, pero
recuerda parte del mismo, puede utilizar su para
convertirse en root, en el prompt de la shell teclee up, y pulse
la tecla Tab dos veces, entonces verá una lista de posibles
comandos que empiezan con la sílaba "up", como updatedb y
uptime. Añadiendo la letra "d" a up y
pulsando otra vez la tecla Tab, el comando será completado.
De esta manera aunque la máquina sea apagada al final del día, no resulta dificil
actualizar la base de datos slocate: Existen muchas posibilidades
de que el comando sea salvado en el fichero history o bien puede utilizar la tecla
Tab para completar el nombre del comando (siempre y cuando recuerde
al menos cómo empieza el nombre del comando).