14 May 2017
How to SCP to a path with spaces in it
Originally found at How to SCP a path with spaces, dated 2007-05-14:
I recently needed to remotely copy over SSH a folder from the remote machine to my local machine. Usually this is not a problem, however the path to this folder had a space in it. The folder itself is rather large and contains files which wouldn’t really benefit from compression. It turns out the solution was quite simple.
scp -r myserver.com:"/path/with/a/Space\\ In\\ It" ./
This basically says “recursively copy the folder at myserver.com (using the local username) to the current folder using scp”. Now the spaces need to be double escaped as the first escape only signifies that they’re spaces on the LOCAL machine - by the time they got to the remote machine, they wouldn’t be escaped anymore. By double escaping them locally, by the time the path makes it to the remote machine they are just single escaped.
Personally, I tend to run the scp command within a separate screen so I can detach it and reattach it later. It also means that if my connection from my machine to the machine I’m SSH’d to (be it local or remote) drops or crashes, the process will continue to run and I can reattach the screen when I reconnect.
The key parts are the double-quotes and the doubly-escaped spaces.