2009-09-12 21:39:59 +0000 2009-09-12 21:39:59 +0000
201
201

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

我刚学会使用sftp,我想把一个目录从远程计算机复制到本地计算机上。如果我尝试了

get [directory]
Cannot download non-regular file: /home/mpirocch/Documents

get -R也不行。

答案 (9)

282
282
282
2010-11-29 21:38:08 +0000

使用-r(递归)标志:

get -r *
52
52
52
2009-09-12 21:51:06 +0000

用途:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
42
42
42
2010-04-08 13:54:47 +0000

使用lftp

lftp sftp://user@host

(https://lftp.yar.ru/lftp-man.html) 然后在lftp中,将cd导入你要复制的目录中,使用mirror命令递归下载选中的目录,如:

mirror

这个命令接受选项和参数。 org ](https://manpages.debian.org/unstable/lftp/lftp.1.en.html) 了解其他命令和选项。

17
17
17
2014-03-10 01:18:10 +0000

这个小指南应该有帮助,用 lftp 镜像远程服务器到本地文件夹

lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path' - sftp:// = 使用 SFTP 协议 - mirror = 镜像模式 - verbose = 显示正在下载的文件 - use-pget-n = 显示段数。真正有用的是加快大文件的速度 - parallel = 同时下载倍数文件

如果你想并行下载文件,请用 use-pget-n=8 切换出 --parallel=8

希望这对需要将远程文件夹镜像到本地文件夹的人有帮助

15
15
15
2009-09-13 03:11:22 +0000

如果你能找到更好的东西,不要直接使用 sftp 程序。对于 Linux,很多文件管理器(至少 Nautilus 和 Dolphin,GNOME 和 KDE 的文件管理器)都支持 sftp,而且还有 sshfs。对于windows,有WinSCP,可能还有其他。所有这些都是为了让你通过 sftp 访问文件,就像在普通的 filesytem 上一样,所以你不必在意你通过 sftp 访问文件。

14
14
14
2009-09-12 22:34:42 +0000

试着用mget代替get

澄清:如果你在你要复制的目录内,mget *工作;如果你做这样的操作:

sftp> cd dir_to_get
sftp> mget *

,它将得到该目录中的所有文件。但是,它不会递归获取任何子目录的内容。

10
10
10
2012-03-06 16:56:09 +0000
get -r [directory]

得到[directory]和它下面的一切,其中r代表递归。我从help中输入sftp,就发现了这一点。

4
4
4
2013-01-11 09:50:29 +0000

cp一样:

scp -rp user@host:/path/to/dir dir

以上将保留原始文件和子目录的时间和模式。这对于备份的检索特别有用。

0
0
0
2011-09-28 08:39:19 +0000

我在远程服务器上有一个Java dist文件夹,其中有以下树:

- dist
--- Audio.jar
--- README
--- lib
----- lib.jar

目标是: 我想用SFTP? sftp remoteuser@ip

第1步. lcd /tmp/dist; lmkdir /tmp/dist/lib

步骤4.