x86 generally refers to the 286/386/486/Pentium etc. instruction set as a whole. i386 is just what it sounds like (386), same for i486. The 486 has a few more instructions than the 386 does, so i486 code will not run on a 386.
586 is Pentium 1, 686 is Pentium 2/3 (I think?) and beyond that is P4. Of course there are AMD equivalents for each of them. It gets really hairy when you get into all the different variations that each company released.
The long and the short of it is, Linux will work on basically all of them (except a 286, since they do not have protected mode).
A nice description of all of them is available on Wikipedia