Encontrar rápidamente comandos ejecutados en la terminal

null¿Eres de los que continuamente tienen que ejecutar determiando comando desde la terminal? (yo por ejemplo para activar la wifi y configurar la conexión utilizo un script de “fabricación casera” que suelo ejecutar desde ella)

¿No recuerdas los parámetros con los que ejecutaste la última vez determinado comando y por mucho que buscas en el historial no lo encuentras?

Por fortuna, existen formas de hacer búsquedas en el historial (history) sin tener que usar las tuberías (pipelines) y el comando grep 😉

La técnica es tan sencilla como pulsar en la terminal la combinación de teclas CTRL+r para activar la búsqueda incremental inversa (reverse-i-search).

Observarás que el prompt del sistema cambia a algo similar a lo que puede observarse en la imagen

introduce algunas letras que recuerdes forman parte del comando buscado y que sean los suficientemente características como para localizarlo entre la infinidad de comandos que debes tener almacenados en el historial

NOTA: en el ejemplo he tecleado “ne”, observa la posición del cursor (esa cosa verde en la esquina inferior derecha) indicando dónde se encuentra la primera aparición de la cadena (“ne”) buscada.

Si la sugerencia mostrada no es la que andas buscando tienes dos opciones

  1. Seguir escribiendo algunas letras más hasta que aparezca
  2. Volver a pulsar CTRL+r para que muestre otras entradas que contengan la cadena que andamos buscando (en el ejemplo “ne”)

NOTA: Si te equivocas introduciendo la cadena de búsqueda puedes pulsar sin problemas la tecla Backspace para eliminar letras como harías normalmente en cualquier editor de textos.

Una vez localizado el comando que nos interesa basta con pulsar

  1. la tecla Enter (si quieres ejecutar el comando encontrado directamente) o
  2. cualquiera de las flechas del cursor (para hacer algún cambio sobre la entrada localizada antes de ejecutarla)

Conclusión

Espero que os sea de utilidad este pequeño truco para agilizar vuestro trabajo en la terminal; desde que lo descubrí se ha convertido en una de las herramientas que más utilizo en el día a día en la línea de comandos.

12 comentarios en “Encontrar rápidamente comandos ejecutados en la terminal

  1. ArturoM dijo:

    Hola a todos,
    muy bueno, si señor.
    Estos pequeños trucos son los que, al menos a mí, ayudan al trabajo diario de cualquier usuario de la “temida” consola.

    Saludos

  2. marcel dijo:

    Hola jasvazquez. Sigo tu blog día a día, lo tengo en mis favoritos y te doy las gracias porque me has ayudado mucho. Siempre pones cosas prácticas; este truquito es magnífico¡¡¡¡ Estoy iniciándome en Ubuntu y necesito escribir mucho en consola.
    Mi principal problema con Ubuntu ha sido y es el sonido. Ahora mismo no consigo que funcione bien el sonido al abrir un pps con impress; pero tampoco funciona bien (se corta) al ejecutar ese pps en una máquina virtualbox con XP.
    ¿Podrías indicarme alguna solución?
    Gracias.

  3. Me alegra que os haya gustado (realmente no sabía si tendría aceptación) yo lo uso a diario y la verdad es que una vez que te acostumbras a que “existe” dejas, como bien dice @Evelio, el dichoso history con el grep de por medio.

    @Marcel, estaré encantado de echarte una mano (o las dos si al final tiene que ser al cuello 😉 ). Si te parece, y para no enturbiar este post con un tema distinto lo tratamos por correo ¿te parece?

  4. ArturoM dijo:

    Hola a todos,
    no se si te habrás dado cuenta, pero parece que los trucos para trabajar en consola, a pesar de que “dicen” que cada vez se usa menos, son mucho más que bien recibidos, así que ya sabes, deleitanos con tu sabiduría y muéstranos el camino…

    Saludos

  5. El camino amigo @Arturo me lo marcáis vosotros con comentarios como el tuyo indicándome por dónde seguir (de nada sirve predicar en el desierto); respecto a la sabiduría, yo matizaría que más que de eso se trata de experiencia (o vivencias como reza el “slogan” de la cabecera).

    Gracias @Shak, matizar a tu acertado comentario que CTRL+C es el estándar para abortar cualquier programa y/o proceso en la terminal (de CTRL+Z y sus implicaciones hablamos otro día si os apetece 😉 )

  6. iosu dijo:

    tengo un pequeño problema; uso el terminal o consola pero éste no guarda la historia de comandos usados; pero cuando uso el “terminal root” si lo hace ¿a que se deberá?

    favor responder a mi correo

    • History recuerda los comandos de cada usuario (no es lo mismo lo que ejecutas como el usuario juan que lo que lanzas como laura o el propio root).

      No obstante prueba a lanzar un echo $HISTSIZE para descartar que está correctamente configurado.

      Espero noticias @iosu, suerte

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s