You can now see that the life of a cell is dependent on a rich soup of enzymes that float in the cell's cytoplasm.
An antibiotic is a poison that works to destroy bacterial cells while leaving human cells unharmed. All antibiotics take advantage of the fact that there are many differences between the enzymes inside a human cell and the enzymes inside a bacterium. If a toxin is found, for example, that affects a particular E. coli enzyme that does not even exist in human cells, then it may be an effective antibiotic. Streptomycin, for example, is an antibiotic that can gum up the ribosome in a bacterium but leaves human ribosomes unharmed (a ribosome is a large enzyme that helps to turn DNA information into new enzymes).
Penicillin was one of the first antibiotics. It gums up certain bacteria's ability to build cell walls. Since bacterial cell walls and human cell walls are very different, penicillin has a big effect on certain species of bacteria but no effect on human cells. The sulfa drugs work by disabling an enzyme that manages the creation of nucleotides in bacteria but not in humans. Without nucleotides, the bacteria cannot reproduce.
Antibiotics only work on living cells. Bacteria are living cells. Antibiotics have no effect on viruses. See How Viruses Work for details.
You can see that the search for new antibiotics occurs down at the enzyme level, hunting for differences between the enzymes in human and bacterial cells that can be exploited to kill bacteria without affecting human cells.
The problem with any antibiotic is that it becomes ineffective over time. Bacteria reproduce so quickly that the probability for mutations is high. In your body, there may be millions of bacteria that the antibiotic kills. But if just one of them has a mutation that makes it immune to the antibiotic, that one cell can reproduce quickly and then spread to other people. Most bacterial diseases have become resistant to some of the antibiotics used against them through this process.