如何在 sftp 中获取整个目录?

如何在 sftp 中获取整个目录?

我刚刚开始学习使用 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 访问它们。

相关内容