Feb
20
2009

Reutilización de comandos en bash con history y fc.
Escrito por NomikOS el 20/Feb/2009 | 2 comentarios | 235 visitas

Cancer of america
Creative Commons License photo credit: mbernet

history

Bash mantiene un registro de todos los comandos que ejecutas en una terminal y los guarda al final de cada sesión en tu fichero personal .bash_history

Con toda seguridad ya has usado este registro al recuperar comandos anteriormente tipeados al apretar la flecha de cursor hacia arriba. Pero hay mucho más.

Para ver estos comandos usa el comando history:

1
history

en tu fichero .bashrc puedes configurar como funciona history

1
2
3
4
5
6
7
8
9
10
11
12
# guardar últimos 3000 comandos
export HISTFILESIZE=3000

# no guardar comandos duplicados en todos los terminales abiertos
export HISTCONTROL=ignoreboth

# alias para listar comandos ingresando parte de este
# ej: hist ssh lista todos las sesiones ssh que has hecho
alias hist='history | grep $1'

# no guardar ciertos comandos
declare -x HISTIGNORE='ls:ll:ps -A'

fc

fc es la abreviación de “fix command”. Viene de la antigüedad y la idea es que te permite modificar en un editor alguno de los útimos comandos que hayas usado. Usa help para saber más de él aunque yo pienso que su única utilidad en la actualidad es que es más corto que escribir history y sólo lista los últimos. Para ello úsalo con el modificador -l.

1
2
3
4
5
6
7
8
# ayuda sobre fc
help fc

# listar últimos comandos
fc -l

# editar comando n
fc n (con n siendo el número del comando listado)

Este comando tiene una particularidad que puede ser muy peligrosa (por lo inesperado) o emocionante (si eso es posible) y es que el comando editado se ejecutará automáticamente al salir del editor. En verdad esto puede ser resultar emocionante si logras usarlo en un script.

Finalmente de que valdría sólo poder ver los comandos que has usado pero de lejos, sin poder tocarlos.

1
2
3
4
5
# ejecuta el comando n
!n

# ejecuta el úlitmo comando que empiece con com...
!com...

Ejemplo de uso del comando “!”

bash history fc

Algunos atajos!

Adquirir estas habilidades harán mucho más agradables tus sesiones obligadas con el terminal, como por ejemplo al usar SSH.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ir al primer comando en history
[ALT] + <
# cancelar cambios a la actual linea
[ALT] + r
# (reverse-i-search)
[CTRL] + r + (tipea un comando anteriormente ingresado)

# estos son fantasticos:
# moverse por el último argumento de comandos anteriores
[ALT] + .
[ALT] + _
# por ejemplo aqui escribimos un argumento bastante largo
mkdir /var/www/html/wordpress/wp-content/plugins/nuevo-directorio
# si hacemos
cd [ALT] + .
# completará a:
cd /var/www/html/wordpress/wp-content/plugins/nuevo-directorio

Puedes encontrar más atajos como estos usa el manual online de bash

1
2
3
man bash
# para ubicar info relativa a history
# tipea /history [ENTER]
Escrito por NomikOS en Linux, February 20 - 2009 @ 13:21 hrs. Tags: | 235 visitas

2 comentarios

  • Copeopefe:

    Thank you!

    Surfeando con Unknown Unknown sobre Unknown Unknown

    Comment | March 1, 2009 @ 20:33
  • NomikOS:

    You are welcome…

    Surfeando con Unknown Unknown sobre Unknown Unknown

    Comment | March 5, 2009 @ 21:00

RSS feed para comentarios en este post

TrackBack URL

Deja un comentario

XHTML: Etiquetas permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

motor: WordPress. tema: TheBuckmaker modificado por NomikOS.