SCP正在创建子目录......但我只想让它直接复制

时间:2014-11-24 12:12:23

标签: scp

我试图使用scp递归地从本地目录复制到远程目录....我在远程端创建了文件夹:

远程位置(已创建):

/usr/local/www/foosite

我正在目录中的本地计算机上运行scp:

的/ usr /本地/网络/网络/ foosite

但它正在抄袭" foosite"目录作为子目录...我只想要文件夹的内容,而不是文件夹本身......

以下是我使用的命令:

scp -r /usr/local/web/www/foosite scpuser@216.99.999.99:/usr/local/www/foosite

2 个答案:

答案 0 :(得分:1)

问题是如果你不在调用的本地部分使用星号(*),scp将在远程服务器中创建一个新的顶级目录。它应该是这样的:

scp -r /usr/local/web/www/foosite/* scpuser@216.99.999.99:/usr/local/www/foosite

这表示"复制内容" (但不是目录本身)到远程位置。

希望这会有所帮助......花了我一个小时左右来解决这个问题!!!

答案 1 :(得分:0)

老问题,但我认为有更好的答案。诀窍是让foosite目录离开目的地:

scp -r /usr/local/web/www/foosite scpuser@216.99.999.99:/usr/local/www

如果目标不存在,这将在目标上创建foosite目录,但如果目录已存在,则只将文件复制到foosite中。基本上-r选项将复制路径中的最后一个目录及其下的任何内容。如果目标上已存在最后一个目录,则它不会执行mkdir。