пистолет - это pistols, handguns.
AK47 and other automatic rifles - автомат. Если мы говорим именно об автоматах калашникова, то их часто называют просто "калаш"
rifle - "винтовка", иногда "ружье" (чаще всего употребляется для hunting rifles)
Если мы имеем в виду generic gun - то чаще всего в неформальном контексте я бы сказал "ствол".
В более формальном часто говорится "оружие", но "оружие" также довольно часто обозначает вообще weapon не только guns.
Кроме того у слова "оружие" крайне редко употребляется множественное число. В официальных судебных и полицейских документах обычно говорят "единицы огнестрельного оружия". Это что-то наподобие "advice" - "pieces of advice" в английском.