linux - 如何在 Linux 上通过 FTP 递归下载文件夹

我正在尝试使用命令行 ftp 客户端对文件夹进行 ftp,但到目前为止,我只能使用“get”来获取单个文件。

最佳答案

您可以依赖 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.

https://stackoverflow.com/questions/113886/

相关文章:

linux - 使用 openssl 从服务器获取证书

python - Flask 可以有可选的 URL 参数吗?

python - 从字符串创建 Pandas DataFrame

python - Python中的抽象方法

linux - 使用 sed 删除空行

python - 配置以便 pip install 可以从 github 工作

linux - 如何使用 YUM 列出包的内容?

linux - "#!/usr/bin/env bash"和 "#!/usr/bin/bash"有什

windows - 如何将 DOS/Windows 换行符 (CRLF) 转换为 Unix 换行符

python - 如何在给定的图上绘制垂直线