miércoles, 30 de noviembre de 2011

Buscar en el Historial de Linux

El historial de Linux guarda por defecto las últimas líneas de comandos ingresadas las cuales están guardadas en el archivo oculto .bash_history (esta en la carpeta por defecto del usuario por ejemplo /home/usuario/) basta con ingresar el comando history en el shell para visualizar los comandos guardados:

$history


Luego aparecerán los comandos más recientes:

  233  sudo scp /etc/samba/smb.conf  cromero@smb3.electronicserver.com:
  234  ls
  235  sudo ls -lt /srv
  236  ls
  237  sudo
  238  sudo ls -lt /srv
  239  sudo ls -lt /
  240  sudo vim /etc/crontab
  241  scp /home/tany/* tany@smb2.electronicserver.com:
  242  sudo halt
  243  sudo vim /etc/crontab
  244  date
  245  sudo vim /etc/crontab
  246  sudo halt
  247  ls
  248  sudo ls /srv/
  249  sudo cp -r /srv/tester/ /var/www/
  250  sudo df -h
  251  sudo ls /var/www/
  252  sudo ls /var/www/tester/
  253  sudo rm -r /var/www/tester/
  254  sudo reboot
  255  sudo free
  256  sudo halt
  257  ifconfig
  258  sudo halt
  259  history

No aparecen todos porque no caben en la pantalla pero se pueden ver los más recientes numerados. Para ejecutar un comando sin la necesidad de reescribirlo se procede de la siguiente manera:


$ !257
ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:9d:6f:dd
          inet addr:192.168.1.251  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9d:6fdd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17315 errors:0 dropped:0 overruns:0 frame:0
          TX packets:884 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1336336 (1.3 MB)  TX bytes:139235 (139.2 KB)
...Datos Omitidos Intecionalmente...

Si el comando no se pudo ver en la pantalla la herramienta más potente para hacer una búsqueda en el historial se invoca con la combinación de letras Ctrl+R:


(reverse-i-search)`':


Una vez invocada la herramienta procedemos a tipear la palabra clave para la búsqueda, por ejemplo vim y el buscador mostrará un resultado (el más reciente), basta con presionar de nuevo Ctrl+R hata encontrar los comandos deseados.


(reverse-i-search)`vim': sudo vim /etc/crontab


Si encontramos el comando deseado presionamos ENTER para ejecutarlo, si queremos modificarlo basta con presionar una de las flechas para empezar a modificar los comandos y si queremos cancelar la búsqueda es necesario presionar Ctrl+G.

Había mencionado que el archivo .bash_history contiene los comandos con el historial también se puede ver su contenido usando la herramienta less.


$less .bash_history


Que mostrará los datos pero sin numeración, sólo nos sirve para visualizar los que no caben en la pantalla, con la herramienta wc veremos algunos detalles del archivo.

$wc .bash_history
258   746   6466   .bash_history


Contiene 258 columnas (258 registros en el historial), 746 palabras y 6466 bytes. Con ello comprobamos que por el momento hay 258 registros. Sin embargo podemos ver número máximo de líneas que puede guardar el historial en el archivo oculto .bashrc y usaremos el editor vim para hacer algunos cambios:


$vim .bashrc


Y con las flechas bajamos hasta encontrar: las líneas:

HISTSIZE=1000
HISTFILESIZE=2000


La instancia superior indica el número máximo de líneas que mostrará el comando history y la instancia siguiente muestra el número máximo de líneas que guardará el archivo .bash_history.


Disfrute al usar Linux!


No hay comentarios:

Publicar un comentario