Utilizar el bash history a fondo

Debo reconocer que el uso que yo le daba al history no iba más allá del uso de las flechas arriba y abajo para navegar por los últimos comandos, o como alguna vez vimos: el Top 5 de los comandos más utilizados o  como utilizar el operador !! (bang bang).

En esta ocasión, veremos unos cuantos ejemplos de algo del provecho que le podemos sacar a esta herramienta:


# export HISTTIMEFORMAT=’%F %T ‘
# history | more
1  2008-08-19 20:01:01 service network restart
2  2008-08-19 20:02:09 exit
3  2008-08-19 20:08:39 id
4  2008-08-19 20:11:23 cat /etc/inetd.conf


# (reverse-i-search)`inet‘: cat /etc/inetd.conf


# history | more
1  service network restart
2  exit
3  cat /etc/services

# !3
cat /etc/services


# !ps
ps ax | grep cron
5023 ?        Ss    0:00    /usr/sbin/cron
8057 pts/0    R+    0:00    grep cron


# nano ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450


# nano ~/.bash_profile
HISTFILE=$HOME/.historia


# ls
# ls
# ls
# history | tail -4
353  ls
354  ls
355  ls
356  history | tail -4
#
# export HISTCONTROL=ignoredups
# ls
# ls
# ls
# history | tail -3
357  export HISTCONTROL=ignoredups
358  ls
359  history | tail -3


# export HISTCONTROL=ignorespace
# ls -l
# pwd
#  service httpd stop
# history | tail -3
567  ls -ltr
568  pwd
569  history | tail -3


# ls .bash_logout
.bash_logout
# vi !!:$
vi .bash_logout

En este otro ejemplo, el !^ a continuación del comando nano obtiene el primer argumento del comando anterior:

# cp .bash_logout .bash_logout.old
# vi !^
vi .bash_logout


# cp .bash_logout .bash_logout.old
# cat !cp:2
cat .bash_logout.old


# export HISTSIZE=0
# history
# #nota aquí que no se muestra nada


# export HISTIGNORE=”pwd:ls:ls -ltr:”

Vía: The Geek Stuff

Tags: ,


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.