我如何上传整个文件夹,其中包含其他文件夹,在Linux上使用sftp?
我已经试过put -r directory/*
,只上传文件而不是文件夹。 给我的错误, Couldn't canonicalise
。
任何帮助将不胜感激。
在这里你可以find如何使用scp
复制目录的详细解释。 在你的情况下,它会是这样的:
$ scp -r foo your_username@remotehost.edu:/some/remote/directory/bar
这会将目录“foo”从本地主机复制到远程主机的目录“bar”。 这里-r
是recursion复制整个目录。
你也可以用类似的语法使用rcp
。 它们之间的唯一区别是scp
使用安全shell,而rcp
使用远程shell。
顺便说一句当你的sftp服务器无法访问命令中提到的文件/目录时,你提到的“无法规范化”的错误就会出现。
对于实际上希望直接回答这个问题的人(而不是被告知使用sftp以外的东西)…
put -r local/path/to/directoryName
上传的目录必须已经存在于服务器上的工作目录中,因此您可能需要先创build它。
mkdir directoryName
sftp> mkdir source sftp> put -r source Uploading source/ to /home/myself/source Entering source/ source/file1 source/file2
改用scp
。 它也使用SSH,可以很容易地处理recursion。