Install SSHDroid on your phone and mount it on your Linux box using sshfs. Even if a wifi network is unavailable, you can still manage a transfer just by setting up wifi tethering on your phone (this will even work without a data connection, say when you're travelling).
Connect your laptop to the wifi tether and then turn on SSHDroid. After that it's just like copying to a server. You can use a command like:
scp /home/daniel/Music/* 192.168.48.1:/mnt/sdcard/Music/
Or even mount that remote sftp server to a local path. Just google for sshfs fstab
. Just note that the ip mentioned here will likely be different for you.
Note that data will move between your laptop and your phone on the local network, not using up your mobile data connection (if you even have access to one), so there's no need to worry about data fees.