我试图使用命令行ftp客户端ftp文件夹,但到目前为止,我只能使用“get”来获取单个文件。
当前回答
在linux中可以安装“ncftp”。它在FTP协议上工作,可用于递归地下载文件和文件夹。适用于linux。用于递归文件夹/文件传输,并且运行良好。
检查这个链接…http://www.ncftp.com/
其他回答
如果您可以使用scp而不是ftp,那么-r选项将为您完成此工作。我会检查一下你是否可以使用比FTP更现代的文件传输机制。
您可以依赖wget,它通常正确地处理ftp get(至少在我自己的经验中)。例如:
wget -r ftp://user:pass@server.com/
您也可以使用-m,它适用于镜像。它目前相当于-r -N - linf。
如果在凭据详细信息中有一些特殊字符,可以指定——user和——password参数以使其工作。使用特定字符自定义登录的示例:
wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/
正如@asmaier指出的,注意即使-r用于递归,它的默认最大级别为5:
- r ——递归 打开递归检索。 - l深度 ——水平=深度 指定递归最大深度级别的深度。默认最大深度为5。
如果你不想错过subdirs,最好使用镜像选项,-m:
- m ——镜子 打开适合镜像的选项。此选项启用递归和时间戳,设置为无限 递归深度,并保持FTP目录清单。它目前相当于-r -N - linf ——no-remove-listing。
如果您的机器上安装了lftp,则使用mirror dir。这样就做完了。如果您想递归下载一个目录,请参阅下面Ciro的注释。
如果您想坚持使用命令行FTP,那么应该尝试NcFTP。然后可以使用get -R来递归地获取文件夹。你也会得到圆满。
通过prompt命令切换提示符。
用法:
ftp>cd /to/directory
ftp>prompt
ftp>mget *
推荐文章
- 如何找到Java堆大小和内存使用(Linux)?
- 遍历带空格的文件列表
- Bash:无限睡眠(无限阻塞)
- 如何使Python脚本在Linux中像服务或守护进程一样运行
- 如何使用文件的行作为命令的参数?
- time_t最终的类型定义是什么?
- 如何使用cut为分隔符指定更多的空格?
- 没有找到Gradlew命令?
- BAT文件:打开新的cmd窗口并在其中执行命令
- 如何在Vim或Linux中将空格转换为制表符?
- 如何做一个非贪婪匹配在grep?
- 在一台主机上有多个glibc库
- 如何让命令行参数传递给unix/linux系统上正在运行的进程?
- 如何在IntelliJ IDEA中输入命令行参数?
- Shell命令查找两个文件中的公共行