我刚刚开始学习使用 sftp,我想将远程计算机中的目录复制到本地计算机。如果我尝试
get [directory]
它给了我这个错误:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
也不起作用。
答案1
使用-R
(递归)标志:
get -R .
答案2
使用:
scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
答案3
使用lftp
:
lftp sftp://user@host
然后,在 lftp 中,cd
进入要复制的目录,并使用该mirror
命令递归下载选定的目录,如下所示:
mirror
此命令接受选项和参数:
镜子 [选项][来源[目标]]
例如,-R
(或--reverse
)选项将导致它将本地目录树上传到远程目录:
mirror -R
查看lftp(1)
手册页在项目现场
或者在 Debian.org用于其他命令和选项。
答案4
如果您能找到更好的程序,请不要直接使用 sftp 程序。对于 Linux,许多文件管理器(至少是 Nautilus 和 Dolphin、GNOME 和 KDE 文件管理器)都原生支持 sftp,而且总有 sshfs。对于 Windows,有 WinSCP,可能还有其他的。所有这些的目的都是让您通过 sftp 访问文件,就像它们在常规文件系统上一样,因此您不必关心您是否通过 sftp 访问它们。