Web BizarroWeb Bizarro

Suscríbete a nuestro Newsletter

X

Únete a nuestra lista de correos para recibir semanalmente actualizaciones de nuestro contenido.

Usando la consola en Linux

Usando la consola en Linux 13.MAR.14

Alvaro José Rios Ch
Fundador WebBizarro

Si eres un usuario Linux debes conocer el comando history, si no lo conoces no te preocupes. El comando history te muestra un histórico de los comandos ejecutados en la consola. Esto es muy útil si, como yo, se te olvidan los comandos 20 minutos después de haberlos ejecutado.

Si no eres usuario Linux entonces te invito a leer algunos de nuestros artículos donde te damos algunas razones para comenzar a curiosear con este sistema operativo.

5 razones para migrar a Linux

¿Linux o Windows? 

Razones para aprender Linux

Personalizar tu propia distribución de Linux

ExplainShell para entender Linux

Entrando en el tema que nos trae hoy aquí, veamos como podemos sacarle el jugo al comando history, primero veamos que mostraría normalmente el comando history, mostraremos el comando a ejecutar con # y el resultado no sera precedido por nada.

# history
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release

 

HISTTIMEFORMAT

Esta esta variable permite establecer el formato en que se mostrara la salida de history, al colocar more podemos mostrar el resultado de forma paginada lo que permite recorrer todo el histórico de una forma más cómoda.

# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
4 2008-08-05 19:02:39 cat /etc/redhat-release

 

Ctrl + R

Al ejecutar esto en la consola te permite hacer una búsqueda en el historial y ejecutar el ultimo comando que coincida con la búsqueda, muy útil si recuerdas parte del comando.

 

Repetir el comando anterior

La forma más conocida de repetir el comando anterior es presionando la flecha arriba, pero hay otras formas por si tienes alguna limitación.

- !! y presionar Enter
- !-1 y presionar Enter
- Ctrl + P muestra el comando anterior en la consola y puedes presionar Enter para ejecutarlo.

 

Ejecutar un comando especifico en el historial

Bueno la verdad es que la mayoría usamos la flecha para movernos al comando anterior pero que hay si quiero ejecutar un comando que acabo de ver en el histórico y no esta nada cerca de ser el ultimo. Simplemente colocamos “!” y el id del comando en el historial.

# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release

# !4
cat /etc/redhat-release
Fedora release 9 (Sulphur)

El ultimo comando que comience por una palabra

Es similar al anterior solo que en vez de colocar el id del comando colocamos la palabra por la que empieza.

# !ps
ps aux | grep yp
root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00 ypbind
root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp

 

HISTSIZE y HISTFILE

Estos son dos atributos en la configuración de history, HISTSIZE modifica el número de lineas que puedes tener en el historial, el segundo te permite cambiar el nombre por default del archivo donde se guarda el histórico.

# vi ~/.bash_profile
HISTSIZE=450
HISTFILE=/root/.commandline_warrior

Para que esto tenga efecto debemos iniciar session nuevamente en la consola para que cargue la nueva configuración.

 

HISTCONTROL

Muy útil ya que te permite evitar guardar comandos en el historial que estén repetidos.

# pwd
# pwd
# pwd
# history | tail -4
44 pwd
45 pwd
46 pwd [El comando se ejecuto tres veces y se muestra todas las veces en el historial]
47 history | tail -4

# export HISTCONTROL=ignoredups
# pwd
# pwd
# pwd
# history | tail -3
56 export HISTCONTROL=ignoredups
57 pwd [El comando se ejecuto tres veces consecutivas pero solo se muestra una]
58 history | tail -4