Volver a aplicar un comando del historial sabiendo su número

Hoy veremos cómo ejecutar un comando que está en el historial a través de su número. De esta forma nos ahorramos escribirlo todo, o buscarlo por un largo tiempo con las flechas de navegación.

El historial de Linux tiene un registro de todos los comandos que hemos ejecutado. Cuando queremos verlos, ejecutamos:

history

Eso nos da una lista de los comandos previamente ejecutados, junto con un número. En algún momento pudimos haber ejecutado un comando pero no queremos escribirlo de nuevo; por ejemplo un script sh.

Para buscar un comando en history pasamos su salida por una tubería hacia grep y ponemos la búsqueda:

history | grep .sh

En este caso buscará todos los comandos que tengan “.sh”. Si es otro, por ejemplo uno de MySQL buscamos con:

history | grep mysql

Ejemplo de history con grep

Y así sucesivamente. Pero bueno, cuando hayamos encontrado el comando, ¿cómo lo ejecutamos?

Muy fácil, para ejecutar un comando a partir de su número (sirve en bash) ejecuta:

!123

En donde 123 es el número de comando. Veamos la imagen de arriba, si quisiera ejecutar el de:

history | grep mysql

El cual tiene el número 802, haría esto:

!802

Y presionaría enter. Con eso basta.

Bonus: limpiar historial

Esto no tiene que ver con el post, pero si queremos dejar limpio el historial de comandos ejecutamos:

history -c

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto