我试过put -r directory/*
,它只上传文件而不是文件夹。给我的错误,不能Couldn't canonicalise
。如何在linux上使用sftp上传包含其他文件夹的整个文件夹?
任何帮助将不胜感激。
我试过put -r directory/*
,它只上传文件而不是文件夹。给我的错误,不能Couldn't canonicalise
。如何在linux上使用sftp上传包含其他文件夹的整个文件夹?
任何帮助将不胜感激。
Here你可以找到详细的解释如何使用scp
复制一个目录。对你来说,这将是这样的:
$ scp -r foo [email protected]:/some/remote/directory/bar
这会从本地主机复制目录“富”到远程主机目录“栏”。 这里-r
是 - 递归地复制整个目录。
您也可以使用rcp
以相似的语法。它们之间的唯一区别是scp
使用安全外壳,而rcp
使用远程外壳。
BTW当您提到sftp服务器无法访问命令中提到的文件/目录时,您提到的“无法canonicalise”错误。
UPDATE:对于想要使用put
的用户,请参考Ben Thielker的答案。
当目标仅支持SFTP而不支持SSH时,这不起作用。 – Teekin 2017-12-26 15:17:30
改为使用scp
。它也使用SSH,可以轻松处理递归。
'scp'确实优越,但并非所有的'sftp'服务器都支持'scp'连接,所以'sftp'本身有时是必需的。 – 2016-03-04 16:56:04
目前我处于一个支持sftp但不支持scp的C++代码库,所以这对我也不起作用。 scp并不总是答案。 – PThomasCS 2017-07-03 02:38:06
对于人们真正想要直接回答这个问题(而不是被告知使用比SFTP其他东西)......
put -r local/path/to/directoryName
上传的目录必须在工作目录已经存在于服务器上,所以你可能需要先创建它。
mkdir directoryName
这应该是被接受的答案。 – 2014-04-18 19:37:03
当我尝试把-r somefile我得到“无效标志-r” – 2014-08-22 03:40:19
谢谢 - 有人让这个接受的答案。 – Nightwolf 2014-11-07 16:30:08
尝试 “把目录” 没有斜杠和星号。 – 2012-04-10 07:58:37
https://stackoverflow.com/questions/10084941/how-can-i-upload-an-entire-folder-that-contains-other-folders-using-sftp-on-li/44197588#44197588 – 2017-05-28 08:08:15