Nunca es tarde para aprender nuevos trucos, y justamente hace unos días, leyendo Red Hat Magazine, he aprendido algunos para la búsqueda en el historial de la consola de sistemas tipo Unix que usen Bash.
Nota: En los ejemplos, el $ indica el prompt (cursor) de la consola, no es algo que tenga que tipearse. Las líneas que no tienen $ indican el resultado (lo que “arroja” la consola).
Para ver el historial de comandos ejecutados:
$history
Nos dará como resultado algo así:
(...) 453 cd /media/ 454 ls 455 cd disk (...)
* Si queremos ver el historial de algún comando en particular (en este ejemplo el comando mogrify):
$history | grep mogrify
Tendremos:
(...) 380 mogrify -resize 50% p1000274.jpg 482 man mogrify 483 mogrify -resize 1600x1200 p1000895.jpg 485 mogrify -resize 1600x1200 *.jpg (...)
* Podremos volver a ejecutar algún comando del historial anteponiendo ! al número de línea. Por ejemplo:
$!454 ls archivo archivo2
* Si queremos ejecutar nuevamente la última instancia de un comando, usaremos !?. Por ejemplo:
$ touch archivo $!?touch touch archivo
En el ejemplo anterior usamos touch para crear archivo. Luego, con !?touch volvemos a ejecutar el comando touch (esta vez, actualiza la fecha de modificación de archivo)
* Si lo que queremos es tan sólo conocer cuál fue la última instancia de algún comando sin ejecutarlo, añadimos ?:p
$!?touch?:p
Lo anterior mostrará el comando sin ejecutarlo y lo agregará como último término en el historial. Luego, para ejecutarlo nuevamente bastará presionar FLECHA ARRIBA y ENTER.
En el artículo también podremos leer algunos trucos que dan los lectores de Red Hat Magazine:
* Podremos realizar una búsqueda “interactiva” con CTRL + R. Presionamos estas dos teclas y luego comenzamos a escribir el comando a buscar, automáticamente se completará basándose en el historial. Si deseamos desplazarnos por más resultados, presionamos nuevamente CTRL + R.
* Con !$ obtendremos el último argumento del último comando ejecutado. Por ejemplo:
Creamos 2 archivos usando touch:
$touch archivo1 archivo2
Ahora, eliminamos sólo archivo2:
$ rm !$ rm archivo2
* Con !! volvemos a ejecutar el último comando (hace lo mismo que FLECHA ARRIBA y ENTER).
Espero que les haya sido de utilidad. Si conocen más trucos para el historial de consola, pónganlos en los comentarios.
Posts RSS
Vía Email













3 Comentarios
Has probado CTRL+r ? te permite buscar una ejecución que hiciste en el terminal tecleando letras que lo contengan…
muy util.
un saludo
Si paspas, también está en el post
argghhh!!!!, perdona me salté el párrafo!
un saludo.