Why don't antibiotics work on viruses?
Antibiotics have a bunch of different molecular targets - i'll use those that target ribosomes as an example (but the same is true for ones that target cell walls)
There are two kinds of ribosomes - Eukaryotic and prokaryotic ribosomes, and they differ slightly in structural (and size) characteristics. The both do the same thing, but with slightly different characteristics.
Humans use the Eukaryotic version (mitochondrial ribosomes are of the prokaryotic flavor, though), while bacteria use the prokaryotic version.
Certain classes of antibiotics target the difference in ribosomes i.e....they target prokaryotic ribosomes. Antibiotics basically work to slow down the growth of bacteria so that our bodies immune system can get ahead of the bugs and kill them.
So the antibiotic that you take (that targets ribosomes) targets the ribosomes that the bacteria use, but leave the ribosomes that your cells use alone. In this way, you stay "healthy", while the bacteria can't make any new proteins.....and the immune system kills them because they can't grow (simplified).
Now to Viruses: Viruses are basically 3 things - DNA/RNA, capsid (or envelope) proteins, and maybe a few packaged enzymes that help them enter the cell/genome. That is it - they are like a computer virus. By itself, a computer virus is just letters and symbols on a page...but in a computer, it wreaks havoc (same with a virus..by itself, it is harmless...but inside a cell, it wreaks havoc).
Viruses use OUR ribosomes. They invade our cell and use OUR cell's machinery to do all their replicating (execute their lifecylce). So they use us.
Antibiotics don't target OUR ribosomes, so they can't stop a virus.
Some antibiotics target bacterial cell walls.....viruses don't have cell walls, and our cells don't have cell walls....so those antibiotics do absolutely nothing against a virus.