Sorry to bump an old thread, but having found this via Google I think it's appropriate to set the record straight in case anyone else finds it.
Clothes moths do not attack cotton or synthetic fibres unless they are soiled with things that they do eat, such as human hair and skin (contains keratin).
Cotton and synthetic fibres, do not by default contain keratin, so they are not attractive to clothes moths unless they are soiled!
Keratin comes solely from non-plant sourced materials, so cotton being from a cotton plant is unaffected if it is only cotton and the same for synthetic fibres. Silk, wool, cashmere, alpaca etc all contain keratin. Dirty clothes contain keratin. Towels that have been left damp and not washed properly contain keratin. They will attack anything with keratin.
Even synthetic carpets can breed them if you don't vacuum, because as you may have guessed, you shed hairs and skin into the carpet as you go about your daily routine and they will thrive on it. But they are not there to eat the synthetic carpet nor the cotton!
To eliminate moths is fairly simple but you have to be thorough:
- wash all towels without softener, and add white vinegar and oxyclean to the wash. Wash at 60 Celsius. Wash towels after 3-4 uses. Don't leave towels damp and crumpled after use, ensure they dry quickly. After washing, dry within a few hours. Do the same to any clothes suspected of having moth egg infestation. The eggs are notoriously robust to normal temperatures and cleaning due to the keratin diet. This process will kill the eggs.
- apply Rentokill PSC50 to carpets, and leave for several hours, then vacuum it up. Vacuum regularly to prevent buildup of their food. This deprives the larvae of food.
- place cedar blocks in cupboards and drawers with clothes, sand the blocks down lightly every few months and/or apply cedar oil to refresh them. Adult moths hate the compounds in cedar, this will make them not want to lay eggs in these locations.
Good luck!
More info https://entomology.ca.uky.edu/ef609