I need to transfer a file called ‘some cool movie.avi’ that contains whitespace under rsync. How do I escape a filename or directory name with spaces in them while using rsync command under Linux / *BSD / Unix like operating systems? How do I use rsync when files / dirs contain spaces?

You escape spaces in a remote path when using rsync over a remote SSH connection under Apple OS X / Linux or Unix like operating systems. [donotprint]
Tutorial details
Difficulty Easy (rss)
Root privileges No
Requirements rsync
Time 1m
[/donotprint] If a filename contains whitespace, you can use any one of the following method to get rid of it.

Syntax

The syntax is as follows to copy a file called “/path/to/This is a test youtube video.mp4“:

rsync -av user@desktop:'This\ is\ a\ test\ youtube\ video.mp4' /path/to/here

OR

rsync -av 'user@desktop:This\ is\ a\ test\ youtube\ video.mp4' /path/to/here

You can also pass the -s or --protect-args option to avoid no space-splitting ( wildcard chars only ). The syntax is (note black slashes are removed with this option):

rsync -avs 'user@desktop:This is a test youtube video.mp4' /path/to/here

OR

rsync -av --protect-args 'user@desktop:This is a test youtube video.mp4' /path/to/here

OR

rsync -av --protect-args 'user@desktop:This is a test youtube video.mp4' '/path/to/My Download Folder'

To copy files to remote server called nas01 at /data/old.macbook.june-2013/MacMini/VirtualBox VMs/ folder type:

# cd to "$HOME/VirtualBox VMs/" #
cd ~/VirtualBox\ VMs/
 
# Make a backup to nas01 server #
rsync -avrPz . root@nas01:'/data/old.macbook.june-2013/MacMini/VirtualBox\ VMs/'

Sample outputs:

Fig.01: rsync over ssh when directory names have spaces on local or remote server

A note about older versions of rsync

If you are using an older versions of rsync Try the following syntax:

rsync -av user@server2:'dir1/file1 dir2/file2' /path/to/dest
rsync user@macbook.local::'modname/dir1/file1 modname/dir2/file2' /path/to/here/dest
See also:
  1. BASH Shell: For Loop File Names With Spaces
  2. man page rsync

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 1 comment so far... add one

CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
1 comment… add one
  • Jalal Hajigholamali Nov 29, 2012 @ 3:50

    Hi,

    Thanks, nice and useful article

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Problem posting comment? Email me @ webmaster@cyberciti.biz