Muchas veces ejecutamos una gran cantidad de comandos en una terminal y en ocasiones necesitamos volver a ejecutar un comando previo y para no tener que escribir de nuevo todo el comando que puede ser algo extenso o que no recordamos por completo o simplemente por ahorrar tiempo, podemos recurrir a una característica que nos brindan las terminales y es que estas guardan un historial de comando ejecutados sin importar si hemos cerrado he iniciado sesión cientos de veces.
Para esto contamos con algunas opciones de revisar el historial:
1. Listar todos los comandos ejecutados usando la instrucción
historyLo cual nos mostrara todos los comandos que hemos ejecutado en la consola, de esta forma podemos con el cursor seleccionar el comando que deseemos y copiarlo con las teclas Ctrl + Shift + C y pegarlo con Ctrl + Shift + V, o si nuestro ratón cuenta con la rueda(ratón de 3 botones), podemos seleccionar el comando deseado y presionamos el botón central con lo cual automáticamente se copia y se pega el comando seleccionado.
2. Podemos acceder a los últimos comandos ingresados presionando las teclas del curso Arriba y Abajo, presionando Arriba se mostrara el ultimo comando ejecutado, de esta forma podemos acceder desde el ultimo hasta el primer comando del historial, presionado la tecla del cursor Abajo accederemos al historial desde el primero hasta el ultimo comando.
3. Podemos ejecutar un comando del historial usando la opción de auto completar, algo así a como cuando se esta ingresando un comando o nombre archivo/directorio y que ingresamos la parte inicial y luego presionamos la tecla Tabulador para que se complete lo que queremos ejecutar. En la terminal podemos simular esto editando el archivo .inputrc que se encuentra en /etc/
Para esto podemos abrir el archivo con
kdesudo kate /etc/.inputrcUna ves se abra el archivo agregamos estas 2 lineas y guardamos el archivo.
"\e[A":history-search-backward
"\e[B":history-search-forward Si teníamos abierta una terminal la cerramos y la volvemos a abrir para que surja efecto lo que hemos hecho.
Como siempre, es recomendable no modificar archivos del sistema si se es muy novato y en este caso el archivo que modificamos es un archivo importante donde si modificamos algo por error podríamos obtener resultados no esperados, para prevenir esto podemos crear en nuestro Home un archivo llamado .inputrc y en el agregar las 2 lineas mencionadas mas arriba con lo cual obtendríamos el mismo efecto
kate ~/.inputrcAgregamos las 2 lineas
"\e[A":history-search-backward
"\e[B":history-search-forward Y guardamos.
Como funciona el autocompletado?
Simplemente comenzamos a escribir el comando que queremos ejecutar, por ejemplo escribimos kdesudo k y presionamos la tecla Arriba del cursor, con lo cual se auto completara el comando del historial que coincida con lo que hemos ingresado, en nuestro ejemplo aparecería en la consola kdesudo kate /etc.inputrc
Esto nos sirve tanto en una constola hasta una TTY.
Espero que sea de utilidad.
tal vez te inspiraste en la "burra"de abuhacker
que pregunta siempre pavadas como :cual es el tabulador? 
Os cuento que si yo me posiciono al lado del login $....y giro la ruedita del mousse me van apareciendo todos los comandos que he usado.Un regalito de mi instalador o todos lo tienen?
Buena entrada tuxerito!!!
La ruedita remplaza la función de las teclas arriba y abajo abuhacker, con lo cual harias el paso 2 de los 3 que mencione.
Interesante, gracias por compartirla
En relación a history, tambien podemos usar !X donde X es el numero que le ha asociado history. Por ejemplo:
$ history[...]
493 twidge lsrecent
494 su
495 uname
496 uname -a
497 su
[...]
Podemos llamar a twidge lsrecent usando:
$ !493También se puede llamar al comando anteriormente usado con !!
$ !!Y si por ejemplo el comando anterior necesitaba permisos de ejecución lo arreglamos así:
$ sudo !!Curioso el último y muy práctico, saludos
Hay muchas formas de usar el historial, esperemos que sidd quien es de los que mas usa la consola nos pueda aportar algo mas.
Muy buenos tips para el uso del historial, Tuxerito y Viorel!
Yo no sabía usar eso de history...
Je, saludos
Muy bueno y muy útil
Sobre todo para mi que tengo muy mala memoria y suelo olvidar todo en cuestión de minutos.
Ahora solo espero no olvidar esto
excelente! desconocía eso!. Un apunte: se puede sistutir el click en la rueda del raton con pulsar al mismo tiempo el boton derecho y el izquierdo del raton. Muy util en portátiles. Creo que esa característica se llama mouse wheel emulation.
Muy interesante Tuxerito. En esta página no dejo de aprender cosas útiles. ¡Gracias!
No me sabía ese "truco" para usar las teclas de dirección, así que ya tengo uno más para mi lista
Yo me siento muy cómodo usando la combinación de teclas CTRL+R (reverse-i-search). Supongamos que yo recuerdo haber usado ping anteriormente, entonces presiono CTRL+R y el prompt se convierte así:
(reverse-i-search)`':luego sólo escribo ping y automáticamente se muestra el último comando completo en el que usé ping:
(reverse-i-search)`ping': ping 172.16.111.8pero esa no es la dirección IP a la que quiero hacer ping sino otra que también debe andar por ahí en el historial, así que ahí mismo vuelvo a presionar CTRL+R sin agregar nada más:
(reverse-i-search)`ping': ping keyserver.ubuntu.comy nuevamente CTRL+R
(reverse-i-search)`ping': ping sidd.homelinux.orges decir, presiono CTRL+R una y otra vez sin escribir nada más, hasta que aparezca el comando que quiero. Una vez que se ha visualizado sólo presiono ENTER y se ejecuta. Esto me es muy útil pues a veces ejecuto comandos más largos y no quiero volver a teclear todo, así que con CTRL+R lo busco rápidamente. No es necesario escribir la primer palabra del comando, puede ser cualquier palabra, por ejemplo si escribo pool me devolverá:
(reverse-i-search)`pool': ntpdate -s mx.pool.ntpd.orgSaludos,
Sidd.
Esa forma es muy buena sidd, que bien que existen muchas formas y ya depende de como las usemos o cual nos sea mas útil.