是否可以从根目录开始 scp 所有子目录中的任何文件类型?

是否可以从根目录开始 scp 所有子目录中的任何文件类型?

我正在尝试将任何带有扩展名的文件复制.pf到另一个框。是否可以这样做并保留文件路径结构?

我试过

scp -rp /*.pf [email protected]:CP 

但它失败了*.pf: No such file or directory

谢谢

答案1

您应该使用rsync而不是scp因为它提供了更多选项:

rsync -avm --include="*/" --include="*.pf" --exclude="*" / [email protected]:CP/

不幸的是,当涉及到和 rsync参数时,它有点复杂。请参考includeexclude这个问题有关详细信息,请访问 Stack Overflow。

他们说(针对*.sh文件而不是*.pf文件):

因此,如果我们只想要*.sh文件,我们必须排除所有文件--exclude="*",包括所有目录--include="*/" 并包括所有*.sh文件--include="*.sh"

为了得到预览首先,将-n开关添加到通话中。这将指示rsync告诉如果不实际执行,它会做什么:

rsync -avm -n --include … 
           ^^

进一步参考:

相关内容