Skip to content

Linux操作系统远程下载文件示例

在不同的 Linux 发行版中,下载远程文件的方式基本一致,但安装工具和包管理器可能略有差异。以下是针对常见 Linux 发行版(如 Debian/Ubuntu、Red Hat/CentOS、Fedora、Arch 等)的下载方法总结,涵盖命令行和图形化工具。


1. 常用命令行工具

1.1 wget

  • 功能:支持 HTTP/HTTPS/FTP 协议下载文件,支持断点续传。
  • 安装
    • Debian/Ubuntu:
      bash
      sudo apt update
      sudo apt install wget
    • Red Hat/CentOS:
      bash
      sudo yum install wget
    • Fedora:
      bash
      sudo dnf install wget
    • Arch:
      bash
      sudo pacman -S wget
  • 使用示例
    bash
    # 下载单个文件
    wget http://example.com/file.zip
    
    # 断点续传
    wget -c http://example.com/large-file.iso
    
    # 后台下载
    wget -b http://example.com/big-file.tar.gz

1.2 curl

  • 功能:支持多种协议(HTTP/HTTPS/FTP/SFTP),可发送请求并下载文件。
  • 安装
    • Debian/Ubuntu:
      bash
      sudo apt update
      sudo apt install curl
    • Red Hat/CentOS:
      bash
      sudo yum install curl
    • Fedora:
      bash
      sudo dnf install curl
    • Arch:
      bash
      sudo pacman -S curl
  • 使用示例
    bash
    # 下载文件并保存为原名
    curl -O http://example.com/file.txt
    
    # 下载并指定保存名称
    curl -o new-name.txt http://example.com/file.txt
    
    # 限制下载速度(100KB/s)
    curl --limit-rate 100k http://example.com/large-file.iso

1.3 scp

  • 功能:基于 SSH 的安全文件传输工具,适合从远程服务器下载文件。
  • 安装
    • Debian/Ubuntu/Red Hat/CentOS/Fedora/Arch:通常预装(依赖 OpenSSH)。
  • 使用示例
    bash
    # 从远程服务器下载单个文件
    scp user@remote_host:/path/to/remote/file.txt /local/path/
    
    # 下载整个目录
    scp -r user@remote_host:/path/to/remote/folder /local/path/
    
    # 指定 SSH 端口(如非默认端口)
    scp -P 2222 user@remote_host:/path/to/remote/file.txt /local/path/

1.4 rsync

  • 功能:增量传输工具,适合大文件或目录同步。
  • 安装
    • Debian/Ubuntu:
      bash
      sudo apt install rsync
    • Red Hat/CentOS:
      bash
      sudo yum install rsync
    • Fedora:
      bash
      sudo dnf install rsync
    • Arch:
      bash
      sudo pacman -S rsync
  • 使用示例
    bash
    # 从远程服务器下载文件(保留权限和时间戳)
    rsync -avz user@remote_host:/path/to/remote/file.txt /local/path/
    
    # 排除特定目录
    rsync -avz --exclude='tmp/' user@remote_host:/path/to/remote/folder /local/path/
    
    # 限速下载(200KB/s)
    rsync -avz --bwlimit=200 user@remote_host:/path/to/remote/file.txt /local/path/

1.5 lrzsz(rz/sz)

  • 功能:通过 ZModem 协议实现本地与远程服务器之间的文件传输(需终端支持,如 Xshell、SecureCRT)。
  • 安装
    • Debian/Ubuntu:
      bash
      sudo apt install lrzsz
    • Red Hat/CentOS:
      bash
      sudo yum install lrzsz
    • Fedora:
      bash
      sudo dnf install lrzsz
    • Arch:
      bash
      sudo pacman -S lrzsz
  • 使用示例
    bash
    # 从本地上传文件到服务器
    rz
    
    # 从服务器下载文件到本地
    sz remote_file.txt

2. 图形化工具

2.1 FileZilla

  • 功能:跨平台图形化 FTP/SFTP 客户端,支持拖拽操作。
  • 安装
    • Debian/Ubuntu:
      bash
      sudo apt install filezilla
    • Red Hat/CentOS:
      bash
      sudo yum install filezilla
    • Fedora:
      bash
      sudo dnf install filezilla
    • Arch:
      bash
      sudo pacman -S filezilla
  • 使用步骤
    1. 打开 FileZilla,点击“文件” > “站点管理器”。
    2. 配置远程服务器信息(协议、IP、用户名、密码、端口)。
    3. 连接后,左侧显示远程文件,右侧显示本地文件,拖拽即可下载/上传。

2.2 WinSCP(Windows 用户)

  • 功能:Windows 上的 SFTP/SCP 客户端,支持可视化操作。
  • 安装官网下载
  • 使用步骤
    1. 配置 Linux 服务器信息(协议、IP、用户名、密码、端口)。
    2. 双击远程文件即可下载到本地。

3. 特殊场景

3.1 通过 U 盘挂载传输

  • 适用场景:服务器无网络或需物理接触。
  • 步骤
    bash
    # 挂载 U 盘
    sudo mount /dev/sdX1 /mnt/usb
    
    # 复制文件到 U 盘
    cp /path/to/local/file.txt /mnt/usb/
    
    # 卸载 U 盘
    sudo umount /mnt/usb

3.2 使用 axel 加速下载

  • 功能:多线程下载工具,适合大文件。
  • 安装
    • Debian/Ubuntu:
      bash
      sudo apt install axel
    • Red Hat/CentOS:
      bash
      sudo yum install axel
    • Arch:
      bash
      sudo pacman -S axel
  • 使用示例
    bash
    axel http://example.com/large-file.iso

4. 总结

工具适用场景优点缺点
wgetHTTP/FTP 下载支持断点续传需手动处理复杂参数
curl多协议下载/发送请求功能强大,支持自定义请求学习曲线较陡
scp安全传输(SSH)加密传输,简单直接依赖 SSH 服务
rsync大文件/目录同步增量传输,节省带宽配置稍复杂
lrzsz终端交互式传输快速上传下载需终端支持 ZModem
FileZilla图形化操作可视化,适合新手依赖 GUI 环境
axel大文件加速下载多线程加速不支持 HTTPS 断点续传

根据需求选择合适的工具即可!

/src/technology/dateblog/2025/05/20250508-linux%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E8%BF%9C%E7%A8%8B%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6%E7%A4%BA%E4%BE%8B.html