Answers:
使用-r
(递归)标志:
get -r *
get: Invalid flag -r
-r
旗帜不存在。您的系统是最新的吗?
采用:
scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
scp -r
。或者,您可以使用Filezilla之类的高级SFTP客户端。
sftp
,但不允许scp
访问。
用途lftp
:
lftp sftp://user@host
然后,在lftp中,cd
进入要复制的目录,并使用mirror
命令以递归方式下载所选目录,如下所示:
mirror
此命令接受选项和参数:
镜像[ 选项 ] [ 源 [ 目标 ]]
例如,-R
(或--reverse
)选项将使它将本地目录树上载到远程目录:
mirror -R
有关其他命令和选项,请参见项目站点
或Debian.org上的lftp(1)
手册页。
这个小指南应该会有所帮助,使用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
希望这可以帮助需要将远程文件夹镜像到本地文件夹的任何人
lftp 'sftp://user:pa$$word@server.org:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
如果可以找到更好的方法,请不要直接使用sftp程序。对于Linux,许多文件管理器(至少是Nautilus和Dolphin,GNOME和KDE的文件管理器)本身都支持sftp,并且总是有sshfs。对于Windows,有WinSCP,可能还有其他。所有这些的目的是让您像使用常规文件系统一样通过sftp访问文件,因此您不必担心要通过sftp访问它们。
sftp/ssh
命令行界面却是(cca 100 MB / s的文件传输)。因此,问题出在GNU / Linux Mint上的Nautilus。
尝试mget
代替get
。
澄清:mget
会,如果你是要复制的目录里面工作; 如果您执行以下操作:
sftp> cd dir_to_get
sftp> mget *
它将获取该目录中的所有文件。但是,它不会递归获取任何子目录的内容。
get -r [directory]
获取[directory]
所有内容,其中r
表示递归。我只是通过输入help
来发现的sftp
。
与cp
:
scp -rp user@host:/path/to/dir dir
以上内容将保留原始文件和子目录的时间和方式。这对于检索备份特别有用。
我在远程服务器上有Java dist文件夹,其中有以下树:
- dist
--- Audio.jar
--- README
--- lib
----- lib.jar
目标是:我要使用SFTP?并将它们放在/ tmp / <>
步骤1. sftp remoteuser @ ip
步骤2. cd / var / tmp
步骤2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib
步骤3.液晶/ tmp / dist
步骤4. mget *
步骤5. LCD / tmp / dist / lib
步骤6. mget *
第7步。终于我有了目标
$ ls
Audio.jar lib README.TXT