I really shouldn't speculate because I don't know the facts, but it sounds like he does not feel loved or valued, and is using his macho-ism and anger to cover hurt feelings. I am not saying it's your fault, but if he has self-esteem issues, he may cover his insecurities with anger or nastiness.
I know that when my husband doesn't feel "loved" (how do I put that tactfully??

) he jumps down my throat at everything. Then after he gets "loved" he is fine

. Guys are retarded and sometimes I get sooooo tired of making sure he feels manly and macho and needed. But I am thankful that my hubby is kind of sensitive because lord knows I have dated the most insensitive jerks around!!
I kind of feel sorry for him, it sounds like he really isn't happy with himself. And if you can't be happy with yourself, you can't make someone else happy. Isn't that how that saying goes?