Here's an extension to Brian's answer using Bluetooth:
On Linux, use Blueman to share PC internet with your device via Bluetooth:
$ sudo apt-get install blueman
$ blueman-manager
Pair them: Search devices after enabling Bluetooth
on your phone and making it visible
$ blueman-services
Network > [X] Network Access Point (NAP)
Your Phone > Settings > Bluetooth > Paired Device > [X] Internet access
Use the Bluetooth network for ADB commands:
$ adb tcpip 5555
$ adb connect $(adb shell ip -f inet addr show bt-pan | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1):5555
Once done to return to USB mode:
$ adb disconnect
$ adb usb
Note: Bluetooth 3.0 and 4.0 can go up to 24 Mbit/s.