Con el terminal: Repite el comando anterior con !!

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?

Comparte para difundir

Si te ha gustado nuestro contenido ahora puedes ayudar a difundirlo en las redes sociales de manera sencilla usando los siguientes botones:

Envía
Pinea
Print

5 comentarios

  1.   mauricio dijo

    Vaya, esto no lo sabía, muy buena info, gracias.

  2.   sieg84 dijo

    Asi me ahorro presionar la flecha arriba|inicio. Gracias por la info.

  3.   Maxwell dijo

    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.

  4.   Hugo dijo

    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).

  5.   Lucas Matias dijo

    Yo uso las direccionales. Después lo pruebo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.