Linux/Unix:Rsync复制带有空白和空格的文件和目录名称
时间:2020-01-09 10:43:30 来源:igfitidea点击:
如何传输一个名为cool.mov的文件,该文件在rsync下包含空格。在Linux/* BSD/Unix等操作系统下使用rsync命令时,如何在文件名或者目录名中转义空格?当文件/目录包含空格时,如何使用rsync?在Apple OS X/Linux或者Unix之类的操作系统下通过远程SSH连接使用rsync时,会在远程路径中转义空格。 如果文件名包含空格,则可以使用以下任何一种方法来删除它。
语法
复制以下文件的语法如下:/path/to /这是一个测试youtube video.mp4:
rsync -av user@desktop:'This\ is\ a\ test\ youtube\ video.mp4' /path/to/here
或者
rsync -av 'user@desktop:This\ is\ a\ test\ youtube\ video.mp4' /path/to/here
您也可以通过-s
或者--protect-args
选项来避免没有空格分割(仅通配符)。
语法为(请注意,使用此选项可删除黑色斜杠):
rsync -avs 'user@desktop:This is a test youtube video.mp4' /path/to/here
或者
rsync -av --protect-args 'user@desktop:This is a test youtube video.mp4' /path/to/here
或者
rsync -av --protect-args 'user@desktop:This is a test youtube video.mp4' '/path/to/My Download Folder'
要将文件复制到/data/old.macbook.june-2013/MacMini/VirtualBox VMs /文件夹中的名为nas01的远程服务器,请执行以下操作:
# 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/'
关于旧版本rsync的说明
如果使用的是rsync的旧版本,请尝试以下语法:
rsync -av user@server2:'dir1/file1 dir2/file2' /path/to/dest rsync [email protected]::'modname/dir1/file1 modname/dir2/file2' /path/to/here/dest