Can't seem to connect to Leonardo using avrdude command line

I'm trying to flash my leonardo from the command line using avrdude. after numerous programmer not responding errors, I then tried to simply connect to the board with the command:

./avrdude -patmega32u4 -C../etc/avrdude.conf -cavr109 -P/dev/cu.usbmodem...

However, I still get this message:

avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = ""; type = 
    Software Version = .; Hardware Version = .
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader

I've tried different leonardos, usb ports, cables, and computers.

Any help with what to try next would be greatly appreciated.

(deleted)

Thanks for the reply. I've tried resetting the port (and I'm pretty sure I have it right). I've also tried to force bootloader with a reset double tap, but to no avail.

Here is what I just figured out:

As per this page: Leonardo | Nicholas Kell I need to trigger bootloader mode by making a serial connection with 1200bps and then immediately disconnecting. The reason I wasn't able to make this work by tapping the reset button is that the leonardo often grabs a new serial port name when it resets, so I would enter bootloader successfully, but when I went to flash, the port in my command line was no longer valid.

(deleted)

Wasn't ignoring you. The main issue was that the board wasn't entering bootloader mode. The port I was using originally was a valid port. It wasn't clear to me from your answer that this is what I was missing and why I should double tap reset.

In any case, I can't fathom how I would tap reset, scan for my correct port name, and edit my avrdude command in less than the 8 seconds it takes before bootloader mode exits, so I ended up doing it programmatically.