博客 / Linux/ Linux 下使用 wget 命令下载 FTP 服务器文件的完整指南

Linux 下使用 wget 命令下载 FTP 服务器文件的完整指南

Linux 下使用 wget 命令下载 FTP 服务器文件的完整指南

使用 wget 命令下载 FTP 内容

在 Linux 系统中,wget 是一个功能强大的非交互式网络下载工具,支持 HTTP、HTTPS 和 FTP 协议。通过 wget 下载 FTP 服务器上的文件或目录非常方便。

基本命令格式

下载 FTP 文件的基本命令格式如下:

wget ftp://服务器地址/文件路径 --ftp-user=用户名 --ftp-password=密码

参数详解与示例

下面是对命令中各部分的详细说明:

  • ftp://服务器地址/文件路径:指定 FTP 服务器的地址和要下载的文件或目录的完整路径。例如:ftp://192.168.1.100/public/report.pdfftp://example.com/data/archive.tar.gz
  • --ftp-user=用户名:用于指定登录 FTP 服务器的用户名。
  • --ftp-password=密码:用于指定对应用户的密码。

完整示例:假设要从 IP 为 10.0.0.5 的 FTP 服务器,以用户 alice 和密码 secret123 下载 /backups/database.sql 文件,命令如下:

wget ftp://10.0.0.5/backups/database.sql --ftp-user=alice --ftp-password=secret123

进阶用法与注意事项

1. 递归下载目录:如果需要下载整个目录及其内容,可以添加 -r(递归)选项。

wget -r ftp://10.0.0.5/public/ --ftp-user=alice --ftp-password=secret123

2. 安全性警告:在命令行中直接输入密码存在安全风险(密码会出现在进程列表或 shell 历史记录中)。更安全的方式是:

  • 使用 --ftp-password=`cat password_file` 从文件中读取密码。
  • 或者,考虑使用 .netrc 文件进行认证(详见下文)。

3. 使用 .netrc 文件进行认证(推荐):可以在家目录创建 ~/.netrc 文件,安全地存储 FTP 凭据。

machine 10.0.0.5
login alice
password secret123

然后使用更简洁的命令下载,无需在命令行中暴露密码:

wget ftp://10.0.0.5/backups/database.sql

4. 被动模式:如果遇到连接问题,可以尝试使用被动模式,通过添加 --passive-ftp 选项。

wget --passive-ftp ftp://10.0.0.5/file.zip --ftp-user=alice --ftp-password=secret123

5. 限速与重试:可以使用 --limit-rate=200k 限制下载速度,使用 -t 5 指定网络错误时的重试次数。

wget -t 5 --limit-rate=200k ftp://10.0.0.5/largefile.iso --ftp-user=alice --ftp-password=secret123

总结

wget 是 Linux 环境下从 FTP 服务器获取文件的可靠工具。对于简单的下载任务,使用基本格式即可。对于自动化脚本或需要更高安全性的场景,建议结合 .netrc 文件使用。掌握递归下载、被动模式等选项,可以应对更复杂的网络环境。

  1. avatar
    靠谱分享网

    原来如此

回复 靠谱分享网 取消回复

您的邮箱不会公开。必填项已用 * 标注。