Gunny is slang for the United States Marine Corps rank of Gunnery Sergeant (E7).
It is common today to hear a Gunnery Sergeant referred to as "Gunny" or "Guns" but it is improper to do so in official communications or formations.
Officers and senior enlisted personnel most frequently use these terms, but a junior Marine may at the Gunnery Sergeant's discretion.
In the old Corps many ranks had nick names or abbreviations but today "Gunny" is one of the few that remains. Marines are taught in Boot Camp that you never address a senior Marine by anything but their complete rank (Sergeant, never Sarge).
Some other nicknames:
"Top" for Master Sergeant (E8) still in use
"Old Man" for Colonel (O6) rarely used
"Skipper" for Captain (O3) rarely used
"Sarge" for Sergeant (E5) never used
"Master Guns" for Master Gunnery Sergeant (E9) still used
"First Shirt or First Hat" for First Sergeant (E8) rarely used