avrdude -c usbasp -p m328 -U hfuse:r:hfuse.hex:iavrdude -c usbasp -p m328 -U lfuse:r:lfuse.hex:iavrdude -c usbasp -p m328 -U efuse:r:efuse.hex:iavrdude -c usbasp -p m328 -U flash:r:flash.hex:i
avrdude -c usbasp -p m328 -U hfuse:w:hfuse.hexavrdude -c usbasp -p m328 -U lfuse:w:lfuse.hexavrdude -c usbasp -p m328 -U efuse:w:Efuse.hexavrdude -c usbasp -p m328 -U flash:w:flash.hex
Eliminating the bootloader makes updating the firmware a bit harder, but it also increases the amount of flash you have for your program, as well as removes the boot delay while the loader waits for escape character, letting it know there's new firmware to load via serial.
I am making a color mixer and fader for RGB LED lighting, and found the boot delay annoying when I powered up the system. Removing the bootloader makes the startup nearly instant.I use a USB-ASP I got off ebay for a couple of dollars. In reality, it is just an ATMEGA8 running what appears to be a software USB stack and ASP firmware similar to using the arduino as an ISP.