Linux终端如何下载文件?

在Linux终端环境中,下载文件是日常运维、开发和服务管理中的常见需求,由于Linux服务器通常不配备图形界面,掌握终端下载命令至关重要,本文将详细介绍Linux终端中主流的文件下载工具及其使用方法,涵盖基础命令、高级功能及适用场景,帮助用户根据实际需求选择合适的下载方式。

linux 终端如何下载文件

基础下载工具:wget与curl

wget和curl是Linux中最基础、最常用的下载工具,二者均支持HTTP、HTTPS、FTP等协议,但各有侧重。

wget:非交互式下载利器

wget是GNU开发的免费工具,以“非交互式”和“断点续传”著称,尤其适合脚本自动化下载,其基本语法为wget [选项] URL,常用参数包括:

  • -c:断点续传,若下载中断可从断点继续;
  • -b:后台下载,适合大文件下载,避免阻塞终端;
  • -P:指定保存目录,如-P /tmp将文件保存到/tmp;
  • -r:递归下载,可下载整个网站(需配合-l限制层级);
  • -q:静默模式,不输出下载信息,适合脚本中静默执行;
  • --limit-rate:限速下载,如--limit-rate=100k限制速度为100KB/s。

示例:

  • 下载单个文件并保存到/home/user:wget -P /home/user https://example.com/file.zip
  • 后台下载并记录日志:wget -b -o download.log https://example.com/large.iso
  • 断点续传下载中断的文件:wget -c https://example.com/incomplete_file.tar.gz

curl:多功能传输工具

curl支持更多协议(如SMTP、SCP、SFTP等),且默认输出到终端,适合需要实时查看下载进度的场景,其语法为curl [选项] URL,常用参数包括:

  • -O:保持远程文件名,如curl -O https://example.com/file.zip;
  • -o:指定本地文件名,如curl -o myfile.txt https://example.com/data.txt;
  • -L:跟随重定向,若URL跳转可自动跟踪;
  • -u:用户认证,如-u username:password;
  • -x:设置代理,如-x http://proxy:port;
  • -C -:断点续传,与wget的-c类似。

示例:

  • 下载文件并保持原文件名:curl -O https://example.com/image.jpg
  • 通过代理下载文件:curl -x http://192.168.1.100:8080 -o file.pdf https://example.com/report.pdf
  • 带用户名密码下载:curl -u admin:password -O https://example.com/private.zip

高级下载工具:aria2

aria2是一款轻量级、多线程下载工具,支持HTTP、HTTPS、FTP、BT、磁力链接等多种协议,下载速度远超wget和curl,尤其适合大文件和资源密集型下载,其语法为aria2c [选项] URL,核心参数包括:

linux 终端如何下载文件

  • -x:单线程连接数,如-x 16设置16线程;
  • -s:同时下载的文件数,适合多文件下载;
  • -c:启用断点续传;
  • -d:下载目录,如-d /downloads;
  • -t:超时时间(秒),默认60秒;
  • --check-certificate:忽略SSL证书错误(测试环境可用)。

示例:

  • 多线程下载大文件:aria2c -x 8 -s 8 -c https://example.com/large_file.iso
  • 下载磁力链接:aria2c --bt-metadata-only=true -d /downloads "magnet:?xt=urn:btih:..."
  • 下载种子文件:aria2c -s 2 -d /downloads example.torrent

远程文件传输工具:scp与rsync

若需从远程服务器下载文件(如SSH连接的服务器),scp和rsync是更安全的选择。

scp:基于SSH的安全复制

scp通过SSH协议传输文件,语法为scp [选项] user@host:/remote/path /local/path,常用参数:

  • -P:指定SSH端口(默认22);
  • -r:递归复制目录;
  • -C:启用压缩。

示例:

  • 从远程服务器下载文件:scp -P 2222 user@192.168.1.100:/home/user/file.txt /local/path
  • 下载整个目录:scp -r user@remote:/var/www /local/backup

rsync:增量同步工具

rsync支持增量传输(仅同步变化部分),适合大文件或频繁同步场景,语法为rsync [选项] user@host:/remote/path /local/path,常用参数:

  • -a:归档模式,保留权限、时间戳等属性;
  • -v:显示详细过程;
  • -z:压缩传输;
  • -P:显示进度并支持断点续传。

示例:

linux 终端如何下载文件

  • 同步远程目录到本地:rsync -avz user@remote:/data/ /local/backup/
  • 仅同步变化文件并显示进度:rsync -avP user@remote:/logs/ /local/logs/

其他下载方式

  • git clone:若需从GitHub、Gitee等代码仓库下载代码,可直接使用git clone <仓库地址>,支持SSH和HTTPS协议。
  • ftp/sftp:传统FTP协议可通过ftp命令连接(交互式),或使用sftp(基于SSH的安全FTP),语法类似scp,如sftp user@remote后用get filename下载。

工具对比与选择

为方便选择,以下是主流下载工具的特性对比:

工具 主要用途 断点续传 多线程 代理支持 认证支持 适用场景
wget 通用下载、脚本自动化 是 否 是 是 静态资源、网站镜像、后台任务
curl 多协议传输、API测试 是 否 是 是 动态链接、实时进度、调试接口
aria2 大文件、BT/磁力下载 是 是 是 是 高速下载、P2P资源、批量任务
scp 远程文件安全传输 否 否 否 是(SSH) 服务器间文件同步、敏感数据
rsync 远程增量同步 是 否 否 是(SSH) 目录备份、频繁同步、数据迁移

注意事项

  1. 代理设置:若通过代理下载,需确保工具支持代理参数(如wget的--proxy、curl的-x),并配置代理服务器地址和端口。
  2. 权限问题:下载前需确保对目标目录有写权限(如mkdir -p /downloads && chmod 755 /downloads)。
  3. URL编码:若URL包含特殊字符(如空格、&),需用引号包裹或进行编码(如%20代替空格)。

相关问答FAQs

问题1:下载大文件时网络中断,如何继续下载?
解答:不同工具支持断点续传的方式不同:

  • wget:使用wget -c URL,若原文件存在会自动从断点继续;
  • curl:使用curl -C - -O URL,-C -表示自动检测断点;
  • aria2:使用aria2c -c URL,默认启用断点续传;
  • rsync:使用rsync -avP URL,-P参数包含断点续传功能。

问题2:如何通过代理服务器下载文件?
解答:以常见工具为例,代理配置如下:

  • wget:wget --proxy=on -e "http_proxy=http://proxy:port" -e "https_proxy=http://proxy:port" URL;
  • curl:curl -x "http://proxy:port" URL(若需HTTPS代理,将协议改为https);
  • aria2:aria2c --http-proxy="http://proxy:port" --https-proxy="http://proxy:port" URL。
    注意:代理地址需替换为实际可用的代理服务器(如http://192.168.1.100:8080),并确保代理服务器允许下载流量。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26223.html

赞 (0)
酷番叔酷番叔
上一篇 2025年9月19日 16:26
下一篇 2025年9月19日 16:38

相关推荐

  • Linux中如何保存可读文件?操作步骤有哪些?

    在Linux操作系统中,可读文件通常指以文本格式存储的文件,如配置文件(如/etc/hosts)、脚本文件(如.sh)、日志文件(如/var/log/syslog)等,这类文件可通过文本编辑器直接查看和修改内容,保存可读文件是日常运维和开发中的基础操作,掌握不同场景下的保存方法能提升工作效率,本文将详细介绍Li……

    2025年9月17日
    22800
  • 如何重启linux系统

    在Linux系统中,重启操作是系统维护、配置更新或解决系统异常时的常见需求,正确的重启方式不仅能确保数据安全,还能避免服务中断或系统损坏,本文将详细介绍Linux系统重启的多种方法、适用场景及注意事项,帮助用户在不同场景下选择合适的重启策略,图形界面重启(适用于桌面版Linux)对于使用图形化桌面环境的Linu……

    2025年9月21日
    30400
  • Linux系统如何启动FTP服务?步骤详解与配置方法说明?

    在Linux系统中,FTP(File Transfer Protocol,文件传输协议)是一种常用的文件传输方式,尤其适用于在不同服务器之间或服务器与客户端之间共享文件,本文将详细介绍如何在Linux系统中启动FTP服务,涵盖安装FTP服务器软件、配置服务参数、启动与管理服务、防火墙设置、安全优化等关键步骤,帮……

    2025年9月9日
    26600
  • 大白菜工具如何安装Linux系统?详细步骤与方法有哪些?

    大白菜是一款常用的Windows系统维护工具,主要用于制作启动盘、系统备份与恢复等,虽然其核心功能围绕Windows环境设计,但通过合理操作,也可利用大白菜PE引导安装Linux系统,以下是详细操作步骤及注意事项,帮助顺利完成Linux系统的安装,安装前准备下载必要文件Linux系统镜像:根据需求选择发行版(如……

    2025年9月17日
    78600
  • Linux如何查看MySQL是否安装成功?

    在Linux系统中,MySQL安装完成后,需通过多步骤验证安装是否成功,避免因安装不完整或配置错误导致后续使用问题,以下从服务状态、软件包、可执行文件、配置文件、日志、连接测试及版本检查等多个维度,详细说明验证方法,检查MySQL服务状态MySQL安装成功后,其核心服务(如mysqld)需正常运行,不同Linu……

    2025年8月24日
    27600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信