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/userwget -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识别新加磁盘是一个涉及硬件连接、内核驱动、设备管理及用户空间工具的完整流程,通常需要从硬件层面到系统层面逐步排查和操作,以下将详细说明Linux系统如何识别新加磁盘的全过程,包括操作步骤、常用工具及注意事项,硬件层面准备与系统检测在Linux系统识别新磁盘前,需确保硬件连接正常,对于台式机或服务器,新……

    2025年10月1日
    3200
  • Linux系统如何查询数据库中的数据信息?

    在Linux系统中查询数据库是运维和开发中的常见需求,不同类型的数据库(如关系型的MySQL、PostgreSQL,NoSQL的MongoDB、Redis)操作方式存在差异,需结合具体数据库类型选择工具和方法,以下是详细操作步骤和注意事项,通用查询步骤安装客户端工具:根据数据库类型安装对应客户端,如MySQL需……

    2025年9月20日
    4700
  • 如何轻松创建Linux系统镜像文件?

    在Linux环境中制作镜像文件是备份系统、迁移数据或创建可部署模板的关键操作,以下是三种主流方法,涵盖不同场景需求:制作整个磁盘/分区的原始镜像(适用于系统克隆)工具:dd命令原理: 逐字节复制原始设备,生成.img或.iso格式的精确副本,包含分区表、引导扇区和所有数据,操作步骤:识别设备路径sudo fdi……

    2025年8月7日
    6300
  • Linux如何添加后门?常见方法有哪些?

    Linux系统作为广泛使用的服务器操作系统,其安全性至关重要,所谓“后门”通常指绕过正常认证机制获取系统访问权限的隐蔽途径,未经授权植入后门属于违法行为,本文仅从安全研究和防护角度,分析Linux系统中可能存在的后门类型及实现原理,帮助管理员识别和防范潜在风险,Linux后门的常见类型及实现原理SSH后门SSH……

    2025年10月8日
    4100
  • Linux下如何解压7z格式文件?

    在Linux系统中处理7z格式的压缩文件,需要使用专门的解压工具,因为Linux默认并未内置对7z格式的支持,7z是一种高压缩率的压缩格式,常用于节省存储空间或加快文件传输速度,其工具主要由p7zip软件包提供,以下将详细介绍在Linux下解压7z文件的完整流程,包括工具安装、常用命令、参数选项及常见问题处理……

    2025年10月7日
    3800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信