Seguimos con los comandos interesantes y útiles que a veces olvidamos utilizar teniéndolos implícitos en nuestro sistema. En este caso usaremos uno que nos permite jugar un poco con nuestro historial.
Pongamos un ejemplo sencillo, abran un terminal y pongan:
$ nano /etc/sudoers
Se podrán percatar de que no podemos editar el fichero si no somos administradores. Usemos entonces sudo, pero para no repetir el comando ponemos:
$ sudo !!
Y esto repetirá:
$ sudo nano /etc/sudoers
Es decir, que el comando !! repetirá el comando que ejecutamos anteriormente en el terminal. También podemos ejecutar otro comando que no sea anterior conociendo su número en el historial..
Abran un terminal y pongan:
$ history
En mi caso sale algo como esto:
[code] 495 cd Desktop/496 ls
497 wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
498 cd
499 cvlc Música/Jamendo/The\ Patinettes\ -\ Bliss\ -\ 2011.06.03/
500 cvlc Música/Rock/
[/code]
Si yo ejecuto el comando !! se ejecuta el comando anterior, que en este caso sería:
$ cvlc Música/Rock/
Pero si quiere ejecutar por ejemplo el comando:
$ wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
Solo tendría que poner:
$ !497
El 497 es el número que tiene delante el comando. ¿Sencillo verdad?
5 comentarios, deja el tuyo
Vaya, esto no lo sabía, muy buena info, gracias.
Asi me ahorro presionar la flecha arriba|inicio. Gracias por la info.
Me resulto muy útil, esto en conjunto con el Ctrl+R para búsqueda de comandos hace la experiencia en las ttys aún más gratas.
Yo suelo usar un alias para filtrar:
alias h='history | egrep -i'
De hecho, ahora que lo pienso, quizás sea mejor agregar una función como esta al .bashrc:
h () {
# Función para listar comandos del historial
HISTERROR="Se puede utilizar como máximo un parámetro."
if [ $# -eq 0 ] ; then
history | less
elsif [ $# -eq 1 ] ; then
history | egrep -i $1 | less
else
echo $HISTERROR
fi
}
De esta manera, basta con solo usar h para listar todos los comandos del historial, o h parámetro para listar los comandos que coincidan con el parámetro (que por cierto, permite expresiones regulares).
Yo uso las direccionales. Después lo pruebo.