如何在 Linux 上通过 FTP 递归下载文件夹[关闭]
- 2024-11-06 08:35:00
- admin 原创
- 36
问题描述:
我正在尝试使用命令行 ftp 客户端通过 ftp 传输文件夹,但到目前为止,我只能使用“get”来获取单个文件。
解决方案 1:
您可以依赖 wget,它通常可以正确处理 ftp get(至少就我的经验而言)。例如:
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.
解决方案 2:
只是为了补充Thibaut Barrère给出的答案。
我用过
wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory
请注意服务器名称后面的双斜杠。如果不添加额外的斜杠,则路径相对于用户的主目录。
-nH
避免创建以服务器名称命名的目录-nc
如果目标上已经存在新文件,则避免创建新文件(只是跳过)--cut-dirs=5
允许获取 /absolute/path/to/directory 的内容并将其放入启动 wget 的目录中。数字 5 用于过滤路径的 5 个组成部分。双斜线表示一个额外的组成部分。
解决方案 3:
ncftp -u <user> -p <pass> <server>
ncftp> mget directory
解决方案 4:
如果lftp
您的机器上安装了,请使用mirror dir
。然后您就完成了。如果您想递归下载目录,请参阅下面 Ciro 的评论。
解决方案 5:
如果您可以使用scp
而不是ftp
,该-r
选项将为您执行此操作。我会检查您是否可以使用比 FTP 更现代的文件传输机制。
解决方案 6:
改用 WGet。它支持 HTTP 和 FTP 协议。
wget -r ftp://mydomain.com/mystuff
祝你好运!
参考: http: //linux.about.com/od/commands/l/blcmdl1_wget.htm
解决方案 7:
有 'ncftp' 可供在 Linux 中安装。它适用于 FTP 协议,可用于递归下载文件和文件夹。适用于 Linux。已用于递归文件夹/文件传输,效果良好。
查看此链接... http://www.ncftp.com/
解决方案 8:
如果可以的话,我强烈建议您tar
和bzip
(或gzip
,无论您觉得如何)远程机器上的目录 — — 对于任何较大大小的目录,节省的带宽可能值得花时间进行压缩/解压缩。
解决方案 9:
如果您想坚持使用命令行 FTP,您应该尝试 NcFTP。然后您可以使用 get -R 递归获取文件夹。您还将获得完成。
解决方案 10:
wget -r ftp://url
完美适配 Redhat 和 Ubuntu
解决方案 11:
您不应该使用ftp
。因为telnet
它没有使用安全协议,密码以明文传输。这使得第三方很容易获取您的用户名和密码。
要远程复制远程目录,最好使用这些选项:
rsync
如果您可以通过 登录,则是最适合的工具ssh
,因为它只复制差异部分,并且可以在连接中断的情况下轻松在中间重新启动。ssh -r
是递归复制目录结构的第二最佳选择。
要递归获取文件,可以使用如下脚本:https:
//gist.github.com/flibbertigibbet/8165881
看:
rsync手册页
ssh手册页
解决方案 12:
通过 PROMPT 命令切换提示。
用法:
ftp>cd /to/directory
ftp>prompt
ftp>mget *
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件