How to scp transfer a file in Linux with spaces

Say you have a path like this "/some/path/here with spaces/".  If you try to transfer it you will get a message along the lines of:

scp -rp 192.168.0.12:"/some/path/here space/" .

scp: /some/path/here: No such file or directory
scp: space: No such file or directory

You can escape each space but what a pain that is especially if you have multiple spaces in the path.

The simplest way is to use the following instead:


scp -rp 192.168.0.12:'"/some/path/here space/"' .

or


scp -rp 192.168.0.12:'"/some/path/here space/"' .

As you can see we are basically padding it with a '" or "' on either side to make the shell interpret it as a literal instead of thinking the space is where the path name ends.

In newer versions you may get this error with the above solution:

protocol error: filename does not match request
 

To solve it, add the "-T" option:

scp -T -rp 192.168.0.12:'"/some/path/here space/"' .


Tags:

scp, linux, spacessay, quot, spaces, rp, directory, multiple, simplest, padding, shell, interpret, literal,

Latest Articles

  • Flash LSI MegaRAID 2208 to IT mode in Linux Mint/Debian/Ubuntu
  • LSI MegaRAID in Linux Ubuntu / Centos Tutorial Setup Guide megacli
  • Convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/413. convert-im6.q16: no images defined `pts-time.jpg' @ error/convert.c/ConvertImageCommand/3258. solution ImageMagick P
  • Apache PHP sending expires header solution cannot use cache with CDN
  • How to install virt-manager in Mint 22/Ubuntu 22
  • Infiniband Guide
  • python mysql install error: /bin/sh: 1: mysql_config: not found /bin/sh: 1: mariadb_config: not found /bin/sh: 1: mysql_config: not found mysql_config --version
  • FreePBX 17 How To Add a Trunk
  • Docker Container Onboot Policy - How to make sure a container is always running
  • FreePBX 17 How To Add Phones / Extensions and Register
  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups