This article is part of the article series "Bash One-Liners Explained."
<- previous article next article ->

This is the fourth part of the Bash One-Liners Explained article series. In this part I'll teach you how to work with bash history. I'll use only the best bash practices, various bash idioms and tricks. I want to illustrate how to get various tasks done with just bash built-in commands and bash programming language constructs.

I'll break this part into several sub-parts as it's very tiring to write long articles, and I'd rather publish many short articles and make quick progress.

See the first part of the series for introduction. After I'm done with the series I'll release an ebook (similar to my ebooks on awk, sed, and perl), and also bash1line.txt (similar to my perl1line.txt).

Also see my other articles about working fast in bash from 2007 and 2008:

Parts of this post are based on my earlier post Definitive Guide to Bash Command Line History. Check it out, too!

Let's start.

Part IV: Working with history

1. Erase all shell history

$ rm ~/.bash_history

Bash keeps the shell history in a hidden file called .bash_history. This file is located in your home directory. To get rid of the history, just delete it.

Note that if you logout after erasing the shell history, this last rm ~/.bash_history command will be logged. If you want to hide that you erased shell history, see the next one-liner.

2. Stop logging history for this session

$ unset HISTFILE

The HISTFILE special bash variable points to the file where the shell history should be saved. If you unset it, bash won't save the history.

Alternatively you can point it to /dev/null,

$ HISTFILE=/dev/null

3. Don't log the current command to history

Just start the command with an extra space:

$  command

If the command starts with an extra space, it's not logged to history.

Note that this only works if the HISTIGNORE variable is properly configured. This variable contains : separated values of command prefixes that shouldn't be logged.

For example to ignore spaces set it to this:

HISTIGNORE="[ ]*"

My HISTIGNORE looks like this:

HISTIGNORE="&:[ ]*"

The ampersand has a special meaning - don't log repeated commands.

4. Change the file where bash logs command history

$ HISTFILE=~/docs/shell_history.txt

Here we simply change the HISTFILE special bash variable and point it to ~/docs/shell_history.txt. From now on bash will save the command history in that file.

5. Add timestamps to history log

$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"

If you set the HISTTIMEFORMAT special bash variable to a valid date format (see man 3 strftime) then bash will log the timestamps to the history log. It will also display them when you call the history command (see the next one-liner).

6. Show the history

$ history

The history command displays the history list with line numbers. If HISTTIMEFORMAT is set, it also displays the timestamps.

7. Show the last 50 commands from the history

$ history 50

If you specify a numeric argument, such as 50, to history, it prints the last 50 commands from the history.

7. Show the top 10 most used commands from the bash history

$ history |
    sed 's/^ \+//;s/  / /' |
    cut -d' ' -f2- |
    awk '{ count[$0]++ } END { for (i in count) print count[i], i }' |
    sort -rn |
    head -10

This one-liner combines bash with sed, cut, awk, sort and head. The perfect combination. Let's walk through this to understand what happens. Let's say the output of history is:

$ history
    1  rm .bash_history 
    2  dmesg
    3  su -
    4  man cryptsetup
    5  dmesg

First we use the sed command to remove the leading spaces and convert the double space after the history command number to a single space:

$ history | sed 's/^ \+//;s/  / /'
1 rm .bash_history 
2 dmesg
3 su -
4 man cryptsetup
5 dmesg

Next we use cut to remove the first column (the history numbers):

$ history |
    sed 's/^ \+//;s/  / /' |
    cut -d' ' -f2-

rm .bash_history 
dmesg
su -
man cryptsetup
dmesg

Next we use awk to record how many times each command has been seen:

$ history |
    sed 's/^ \+//;s/  / /' |
    cut -d' ' -f2- |
    awk '{ count[$0]++ } END { for (i in count) print count[i], i }'

1 rm .bash_history 
2 dmesg
1 su -
1 man cryptsetup

Then we sort the output numerically and reverse it:

$ history |
    sed 's/^ \+//;s/  / /' |
    cut -d' ' -f2- |
    awk '{ count[$0]++ } END { for (i in count) print count[i], i }' |
    sort -rn

2 dmesg
1 rm .bash_history 
1 su -
1 man cryptsetup

Finally we take the first 10 lines that correspond to 10 most frequently used commands:

$ history |
    sed 's/^ \+//;s/  / /' |
    cut -d' ' -f2- |
    awk '{ count[$0]++ } END { for (i in count) print count[i], i }' |
    sort -rn |
    head -10

Here is what my 10 most frequently used commands look like:

2172 ls
1610 gs
252 cd ..
215 gp
213 ls -las
197 cd projects
155 gpu
151 cd
119 gl
119 cd tests/

Here I've gs that's an alias for git status, gp is git push, gpu is git pull and gl is git log.

8. Execute the previous command quickly

$ !!

That's right. Type two bangs. The first bang starts history substitution, and the second one refers to the last command. Here is an example:

$ echo foo
foo
$ !!
foo

Here the echo foo command was repeated.

It's especially useful if you wanted to execute a command through sudo but forgot. Then all you've to do is run:

$ rm /var/log/something
rm: cannot remove `/var/log/something': Permission denied
$
$ sudo !!   # executes `sudo rm /var/log/something`

9. Execute the most recent command starting with the given string

$ !foo

The first bang starts history substitution, and the second one refers to the most recent command starting with foo.

For example,

$ echo foo
foo
$ ls /
/bin /boot /home /dev /proc /root /tmp
$ awk -F: '{print $2}' /etc/passwd
...
$ !ls
/bin /boot /home /dev /proc /root /tmp

Here we executed commands echo, ls, awk, and then used !ls to refer to the ls / command.

10. Open the previous command you executed in a text editor

$ fc

Fc opens the previous command in a text editor. It's useful if you've a longer, more complex command and want to edit it.

For example, let's say you've written a one-liner that has an error, such as:

$ for wav in wav/*; do mp3=$(sed 's/\.wav/\.mp3/' <<< "$wav"); ffmpeg -i "$wav" "$m3p"; done

And you can't see what's going on because you've to scroll around, then you can simply type fc to load it in your text editor, and then quickly find that you mistyped mp3 at the end.

Enjoy!

Enjoy the article and let me know in the comments what you think about it. In the next sub-part I'll continue discussing history keyboard shortcuts, history shell options and more.

This article is part of the article series "Bash One-Liners Explained."
<- previous article next article ->

Comments

Gaurav Permalink
October 13, 2012, 05:40

hi,
all the commands are nice and useful specially to find top 10 most used commands :)

but the third one is not working in my system even i am firing commands with space but still it is showing in history

October 13, 2012, 15:36

I forgot that what gets ignored is configured through the HISTIGNORE variable. It contains a : separated values of command prefixes that should be ignored.

It looks like your distribution doesn't have a default value for this variable.

It should contain this:

export HISTIGNORE="[ ]*"

Meaning - don't log anything to history that starts with a space.

I've this in my .bashrc:

export HISTIGNORE="&:[ ]*"

Here & has a special meaning - ignore repeated commands.

Gaurav Permalink
October 15, 2012, 11:06

hmm. it was hashed in my .bashrc now i have corrected it and it is working :)

September 23, 2013, 17:45

Red Flashy LED Sequin Fedora Snazzy Hat Lights Up! Red Hat Society By:

October 13, 2012, 05:58

1. It looks weird, that you are taking the second column of history output with cut, instead of doing that inside of awk block. (in your "top 10" example)

2. I think that awk is an overkill for the common task of counting the number of entries. The same can be done a la "| sort | uniq -c | sort -nr". I think that this code snippet is much easier to remember than the line of awk code, even though it performs worse.

October 13, 2012, 15:38

1. I love when each command does just one thing, and I love to pipe things together.

I could have written it as a Perl one-liner:

history | perl -lne 's/\d+//;s/^\s+//;s/\s\s/ /; $count{$_}++; END { print "$count{$_} $_" for (sort { $count{$a} <= $count{$b} } keys %count )[0..10] }'

2. Good example of combining commands together.

lava Permalink
November 04, 2012, 20:14

Also, it would be an overkill to use
history | sort | uniq -c | sort -rn

because, as you stated in the article, history is printing .bash_history to the screen. For most users it would be better to run:
$ sort .bash_history | uniq -c | sort -rn

because this will exclude one pipe.

October 13, 2012, 11:11

3. does not work here either (Debian Squeeze).

10. can be done easier by using regular expressions after the bang, in case of your mistyped "for wav in..." you could type:

!f:s/m3p/mp3

(other example here http://linux-training.be/files/books/html/fun/ch13s09.html )

cheers,
paul

October 13, 2012, 15:48

3. I forgot that what gets ignored is configured through the HISTIGNORE variable. It contains a : separated values of command prefixes that should be ignored.

It looks like your distribution doesn't have a default value for this variable.

It should contain this:

export HISTIGNORE="[ ]*"

10. Good one. Alternatively you could've written ^m3p^mp3. I'll cover these in the next part.

chmurli Permalink
October 14, 2012, 10:02

By default commands started with space will be recorded to history.
In order to change it you have to configure it by:
export HISTCONTROL="ignorespace"

October 15, 2012, 18:38

Nice tip.

You can also do the same by doing:

export HISTIGNORE="[ ]*"
October 14, 2012, 13:03

I use CTRL+R a lot to quicksearch & reuse my history, might be a nice addition to your post.

October 15, 2012, 18:38

Definitely. I'll talk about it in the next post.

I actually wrote about these keyboard shortcuts in my Definitive Guide to Bash History a long time ago.

AltairIV Permalink
January 14, 2013, 12:54

I personally prefer using HISTCONTROL=erasedups. It's the inverse of ignoredups, in that it removes all previous instances of the command from your history, so that only the most recent one is kept.

djj Permalink
January 24, 2013, 21:42

Checkout Bash "inputrc", which controls the behavior of readline. You can do some really cool things (capture command in a visual editor, modify it, return it to the command line for execution). As I was reading the above, I kept echoing one variable at a time. I used parameter expansion:
for p in "${!HIST@}"; do echo $p=${!p}; done

djj Permalink
January 25, 2013, 01:01

I thought I'd replace sed/awk with bash using associative arrays and the redirection in your earlier one-liner. My history is prefixed with the date, time, as well as the number, thus the 3 _'s.

declare -A aA; while read -r _ _ _ cmd; do ((aA["${cmd}"]++)); done < <(history)

for cmd in "${!aA[@]}"; do if (( ${aA[$cmd]} > 1 )); then printf -- '%3d %-.50s\n' ${aA[$cmd]} "${cmd}"; fi; done | sort -rn

msccreater Permalink
October 24, 2013, 15:14

i still can't do the command succeed about export HISTIGNORE="[ ]*", here is my command history
616 export HISTIGNORE="[ ]*"
617 export HISTIGNORE="[ ]*"
618 export HISTIGNORE="[ ]*"
619 ls
620 ls
621 history

December 02, 2013, 05:45

nice development work.

April 16, 2014, 15:16

What about this?:

history | awk '{ count[$($1="")]++ } END { for (i in count) print count[i], i }' | sort -nr | head

There's a problem for instructions that take more than one line due to here documents, multi-linear strings and the like.

April 16, 2014, 17:07

Or
history | sed 's/ *[^ ]* *//' | awk '{count[$0]++} END { print count[i],i }' | sort -nr | head

Which is more or less the same as your one-liner but with one iteration less over the whole history. It also respects the spacings inside the commands, thing that my previous command does not.

May 27, 2014, 11:30

Ok thanks that was easy

sudhir khatwani Permalink
June 01, 2014, 11:47

Yo Yo Honey Singh begins his hunt for the first ever 'India's Raw Star' with a ground breaking music reality show on Star Plus.

India's Raw Star Audition Promo Yo Yo Honey Singh

Honey singh TV/reality show Promo on star plus

India's Raw Star Auditions

Note 4

Samsung Galaxy Note 4 Concept

Hii

June 03, 2014, 11:46

awesome post

June 06, 2014, 17:30

I have found your post to be very rousing and full of good information.I would like to thank you for your best written post!

no Website Millionaire
no Website Millionaire
no Website Millionaire
no Website Millionaire Review
rent a serp
rent a serp review
rent a serp.

June 09, 2014, 18:17

Thank you for sharing this wonderful article! your article is nice. its clear and informative.

no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp no Website Millionaire no Website Millionaire no Website Millionaire no Website Millionaire Review rent a serp rent a serp review rent a serp rent a serp rent a serp.

tytuti Permalink
June 10, 2014, 02:49

Father of yankee Lit - author The author of such classics as Adventures of Huck Finn and also the Adventures of Tom Sawyer, author is recognized because Dai phun nuoc mini the father of yankee Literature, that could be a title given to him originally by novelist. Den led am nuoc distich was born prophet Langhorne writer on Nov thirty, 1835, in Florida, Bom chim chuyen dung Missouri. His family enraptured to Hannibal once he was four, and it had been there that he knowledgeable the idea for many of the tales that will later create him one in all the foremost known writers to ever live. At age 9, he saw his 1st murder, at age 10, he saw a slave crushed to death,Dai phun nuoc and at age twenty one, he drove his 1st steamboat—all of which Den led am nuoc might feature conspicuously in his later writings. distich Voi phun nuoc began to jot Hon non bo down professionally at Tieu canh san vuon the age of fifteen however didn\'t realize industrial or vital thiet ke san vuon dep success till 1869 with The Innocents Abroad. A preference for humor, Thiet ke san vuon his use of dialects and free flowing, tripping conversations, thiet ke cafe san vuon furthermore as his creation of AN \"American\" variety of writing tieu canh san vuon dep endears distich to readers past and gift

shiva Permalink
June 20, 2014, 07:26

Thank you very much., You are a good writer.
In addition to art that will give you good
I congratulate you
دوربین مدار بسته-نمای ساختمان -ثبت نام کارشناسی ارشد
.

June 21, 2014, 09:01

Awesome Post
Ramadan Wallpaper
Ramadan Wallpaper HD Download
Ramadan Wallpaper 2014
Ramadan Wallpaper 2014 Download
Ramadan Wallpaper 2014 HD Images
Ramadan Wallpaper 2014 Images
Ramadan Wallpaper quotes
Ramadan wallpaper greetings
Ramadan wallpaper 2014 greetings
Ramadan Wallpaper 2014 quotes
Ramadan Kareem 2014 images
Ramadan Kareem Mubarak Images
Ramadan Kareem Mubarak 2014 images
Ramadan Screen Saver 2014 download
Ramadan Mubarak images
Ramadan images 2014
Ramadan Mubarak greetings
Wish you happy Ramadan 2014
Happy Ramadan Wallpaper 2014
Ramadan wallpaper 2014
Wish you happy Ramadan 2014
ramadan Hd wallpaper 2014
Wish you happy Ramadan wallpaper 2014
Ramadan 2014 images
Ramadan 2014 pictures
wish you happy Ramadan 2014 images
Wish you happy Ramadan 2014 pictures
Happy ramadan 2014 wallpaper
Ramadan Kareem 2014 Wallpaper
Ramadan Mubarak 2014 wallpaper
Wallpaper Ramadan 2014
Ramadan HD wallpaper
Ramadan 2014 HD wallpaper
wish you Ramadan 2014 HD wallpaper
Happy Ramadan HD wallpaper
Happy Ramadan 2014 HD wallpaper
Wish you Ramadan HD wallpaper Download 2014
Ramadan HD wallpaper Download 2014
Ramadan HD wallpaper 2014 Download
Ramadan HD wallpaper 1080p
Ramadan 2014 HD wallpaper 1080p
Best Ramadan 2014 HD wallpaper
Top 10 Ramadan 2014 HD wallpaper
Best Collections Of Ramadan 2014 HD wallpaper
Ramadan 2014 HD wallpaper For Android
Ramadan 2014 best Screensaver download
Ramadan 2014 Screensaver download
screensaver download for mobile Ramadan 2014
Ramadan 2014 HD Screensaver Download
Ramadan 2014 download best screen saver
Screensaver for 2014 ramadan
Ramadan mubarak screensaver download
Ramadan mubarak 2014 best screen saver
Ramadan Kareem Mubarak 2014 best screen saver
Ramadan mubarak 2014 best screen saver
screen saver 2014 download free for android
Ramadan Kareem Mubarak Greetings 2014
Best Collections of Ramadan 2014 Greetings
Best Collections of Ramadan 2014 Greetings
Top Collections of Ramadan 2014 Greetings
Ramadan 2014 Greetings
Ramadan 2014 Greetings Free
Ramadan 2014 Greetings Kareem best
Best Collections of Ramadan 2014 Kareem Greetings
Best Collections of Ramadan 2014 Kareem Greetings
Best Collections of Ramadan 2014 kareem greetings
Top Ramadan 2014 wallpapers
Top Ramadan 2014 pictures
Top ramadan 2014 pictures for pc
Top ramadan 2014 Wallpaper for Android
Ramadan 2014 best softwares
Ramadan 2014 Best Images of Desktop
Ramadan 2014 best pictures for desktop
ramadan 2014 collection of Hd wallpaper
Ramadan 2014 Best collections
Ramadan 2014 top Hd wallpaper
Ramadan 2014 in uk
When Ramadan 2014 in Uk
ramadan 2014 in United Kingdom
When Ramadan 2014 in United States
When ramadan 2014 in America
Ramadan date in uk
Ramadan date in uk
Ramadan facts in united kingdom
Ramadan date in France
Ramadan 2014 in france
Ramadan 2014 date in france
Ramadan 2014 date in Frace country
Happy Ramadan 2014 best wallpaper
Ramadan Wallpaper best collections
Ramadan Kareem Wallpaper collections
wish you happy Ramadan wallpaper 2014
happy Ramadan wallpaper 2014
wish you happy Ramadan Hd wallpaper
Happy Ramadan 2014 HD wallpaper
Hd Ramadan wallpaper 2014
Wallpaper 2014 Hd in Ramadan
Ramadan wallpaper 2014 for Desktop Background
Best Islamic Ramadan wallpaper 2014
Wallpaper 2014 for facebook Cover
Best Wallpaper 2014 Download
Ramadan HD wallpaper 2014 Download
When ramadan in India 2014
Ramadan in India 2014
Ramadan in India 2014
Ramadan Kareem Greetings
Ramadan kareem Mubarak Greetings
Ramadan kareeem 2014 Greetings
Ramadan 2014 kareem Greetings
Ramadan 2014 kareem greetings
Ramadan Kareem Mubarak 2014
Ramadan kareem Mubarak 2014
Ramadan kareem Mubarak 2014
Ramadan Kareem greetings 2014
Ramadan Kareem greetings 2014
Ramadan Kareem greetings 2014
Ramadan Kareem greetings 2014
Ramadan Kareem greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Ramadan Mubarak Greetings 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Inspirational pictures of ramadan 2014
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
Ramadan 2014 Wallpaper and Mubarak pics
oHack
Anna University Paper Valuation
Anna University result 2014
Thanks for sharing

June 23, 2014, 11:02

Ok maybe that is true

tot Permalink
June 28, 2014, 09:26

clear and informative. I just feel your blog is my worth. thanks a lot!

Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club.

clear and informative. I just feel your blog is my worth. thanks a lot!

Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Fast Income Club Review Fast Income Club Fast Income Club Review Fast Income Club.

yfhkigr Permalink
July 09, 2014, 09:10

your article is very informative ,it really helped me.

Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System Secret Millionaire Method Review Secret Millionair Method Free Momey System Free Momey System.

Kalmaaz pujj Permalink
July 23, 2014, 10:18

Leave a new comment

(why do I need your e-mail?)

(Your twitter name, if you have one. (I'm @pkrumins, btw.))

Type the first letter of your name: (just to make sure you're a human)

Please preview the comment before submitting to make sure it's OK.

Advertisements