I had a portable hard disk hooked up to my computer. The portable hard disk has two partitions:

sdb1 : Filesystem = FAT32 : Contains big data files like movies and ISO images
sdb2 : Filesystem = ext3 : This is a backup of my main Linux hard disk partition

So anyway, I was at the command line, and I typed:

cd /mnt/sdb1
rm tmp*
...or at least that's what I meant to type. Somehow, I managed to type a space before the asterisk, giving:

rm tmp *
So after I did that, I typed:

and... well... nothing. Everything was all gone. Everything. Not a single file.

My first thought would have been to pull the portable drive out of the USB slot immediately in the hope that the disk-write was cached and had yet to be written to disk... but that wasn't a viable option because I had sdb2 mounted at the same time and I could have lost important data.

The stuff that was on sdb1 isn't particularly important, I mean it was pretty much just movies and ISO images I downloaded from the internet, I didn't lose any of my own files like documents or programming projects.

So anyway, that happened about 3 weeks ago, and I haven't hooked the portable hard disk up to my computer since.

After I did rm * , no further writes were made to the drive. As soon as I realised everything had been deleted, I just dismounted the drive normally using "umount" and then I pulled out the USB plug... so I reckon there's high chances of recovery.

Is there anyone here with experience in recovering data from a FAT32 partition, data that was deleted by "rm" in Linux? Can you please talk me thru it, tell me what's the best program to use. By the way, I can boot up MS-Windows XP if need be (and of course I can also boot up Linux).

Oh yes, and I'm a retard. I'm gonna slow down the next time I use the "rm" command... or I might just use Konqueror.