1) 帽子 is a collective term of all different hats or caps. A cap with a visor is called 鸭舌帽/棒球帽(They are a little different).
2) jacket: 夹克衫, 杉 means a kind of trees; 衫 is related with clothing.
3) Yes, you are right.
4) 背心 means vests, which are sleeveless. It can mean underwears mainly for women..
Besides, both men and women can wear this, but normally just when doing physical exercises(made of cotton).
Some sweater vests can be put out of shirts.
5) Usually, we say 毛衣.
6) socks means 短袜, but you can just say 穿上你的袜子 for socks.