如何通过FTP下载递归在Linux上的一个文件夹[关闭]如何通过FTP下载递归在Linux上的一个文

2019-05-12 11:38发布

我试图通过ftp使用命令行FTP客户端的文件夹,但到目前为止,我只能够使用“获取”,以获得单个文件。

Answer 1:

你可以依靠的wget通常处理FTP(在我自己的经验至少)得到正常。 例如:

wget -r ftp://user:pass@server.com/

您还可以使用-m适于镜像。 这是目前等同于-r -N -l inf

如果您在凭证细节已经一些特殊的字符,你可以指定--user--password参数得到它的工作。 实施例用特定的字符定制登录:

wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/

编辑正如指出的@asmaier,注意,即使-r是递归的,它有5一个默认的最高级别:

  -r --recursive Turn on recursive retrieving. -l depth --level=depth Specify recursion maximum depth level depth. The default maximum depth is 5. 

如果你不想错过子目录,最好使用镜像选项, -m

  -m --mirror Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings. It is currently equivalent to -r -N -l inf --no-remove-listing. 


Answer 2:

只是,以补充蒂博BARRERE给出了答案。

我用了

wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory

注意服务器名称后的双斜线。 如果我不把额外的斜线的路径是相对于用户的主目录。

  • -nH避免了服务器名称命名的目录的创建
  • -nc避免创建一个新的文件,如果目标上已存在的(它只是跳过)
  • --Cut-迪尔斯= 5让我拿/绝对/路径/到/目录,并把它在我的wget启动目录的内容。 数字5被用于过滤出的路径的5个组分。 双斜线意味着额外的组件。


Answer 3:

ncftp -u <user> -p <pass> <server>
ncftp> mget directory


Answer 4:

如果lftp安装在你的机器上,使用mirror dir 。 和你做。 下面,如果你想递归下载目录中看到由西罗评论。



Answer 5:

如果您可以使用scp来代替ftp时, -r选项会为你做到这一点。 我会检查,看看是否可以使用比FTP更现代的文件传输机制。



Answer 6:

使用wget来代替。 它支持HTTP和FTP协议。

wget -r ftp://mydomain.com/mystuff

祝好运!

参考: http://linux.about.com/od/commands/l/blcmdl1_wget.htm



Answer 7:

有“的ncftp”,这是可以在Linux中安装。 该工程对FTP协议,可用于递归下载文件和文件夹。 在Linux上工作。 已经使用并递归文件夹/文件传输工作的罚款。

检查此链接... http://www.ncftp.com/



Answer 8:

如果可以的话,我强烈建议你tarbzip (或gzip ,不管你的船浮筒)遥控器上的目录机器的任何显著大小的目录,节省带宽可能会是值得压缩/解压缩的时间。



Answer 9:

如果你想坚持到FTP命令行,你应该尝试的NcFTP。 然后你就可以使用get -R递归得到一个文件夹。 您也将获得完成。



Answer 10:

wget -r ftp://url

完美的工作,为红帽和Ubuntu



Answer 11:

你不应该使用ftp 。 像telnet它不使用安全协议和密码以明文形式传输。 这使得它很容易为第三方捕捉到你的用户名和密码。

要远程复制远程目录,这些选项更好:

  • rsync是最适合的工具,如果你可以通过登录ssh ,因为它只复制的差异,并且可以在中间的情况下,连接容易破碎重启。

  • ssh -r是递归复制目录结构中的次优选择。

看到:

  • rsync的手册页

  • SSH手册页



Answer 12:

切换由PROMPT命令提示。

用法:

ftp>cd /to/directory    
ftp>prompt    
ftp>mget  *


文章来源: How to recursively download a folder via FTP on Linux [closed]