linux 如果目标文件夹不存在,SCP是否创建目标文件夹[关闭]

gijlo24d  于 2023-04-11  发布在  Linux
关注(0)|答案(2)|浏览(245)

**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site主题相关,您可以留下评论以解释在何处可以回答此问题。
7年前关闭。
社区去年审查了是否重新打开这个问题,并将其关闭:
原始关闭原因未解决
Improve this question
我想知道如果远程服务器上不存在目标文件夹,scp是否会创建目标文件夹。例如,这是否有效?

scp -r /data/install/somefolder user@ftpserver.com:/data/install/somefolder

这里文件夹/data/install/somefolder在ftp服务器上不存在,那么这个命令会创建它吗?
注意:我读过关于rsync的文章,但还不确定它是如何工作的,也不知道如何使用它。

s5a0g9ez

s5a0g9ez1#

使用ssh和scp(而不是rsync)来完成任务:让我们将任务分为两个步骤:

1.缺少目录时创建目录:

ssh user@ftpserver.com "mkdir -p /data/install/somefolder"

2.复制:

scp -r /data/install/somefolder user@ftpserver.com:/data/install/somefolder

把它们放在一起

server="user@ftpserver.com"
destiny="/data/install/somefolder"
src="/data/install/somefolder"
ssh "$server" "mkdir -p $destiny" && scp -r "$src" "$server:$destiny"
7qhs6swi

7qhs6swi2#

简短回答:不是。
...但是rsync有,这就是为什么我在我的机器上将scp别名为rsync -Pravdtze ssh。是的,有很多开关,它们组合在一起产生了我喜欢的rsync行为。由于rsync确实提供了一组非常广泛的开关和选项,我建议你对它做一些研究,看看什么最适合你的需要。手册页是一个很好的起点,但是有很多信息很容易获得。这是一个decent list of examples

**编辑:**实际上,在您发布的特定情况下,该文件夹将被创建,因为这是您正在复制的文件夹。但是,如果您尝试将其复制到user@remotehost:somenonexistentfolder/somefolder,则会失败。

相关问题