
Usando la consola en Linux 13.MAR.14

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.
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
Alvaro José Rios Ch