菜鸟科技网

Linux下载命令有哪些?怎么用?

在Linux操作系统中,下载文件是日常运维和开发中常见的操作,系统提供了多种命令行工具来实现高效下载,这些工具各具特色,支持不同的协议(如HTTP、HTTPS、FTP等),并具备断点续传、后台运行、限速下载等实用功能,以下将详细介绍Linux中常用的下载命令及其使用方法。

Linux下载命令有哪些?怎么用?-图1
(图片来源网络,侵删)

wget命令

wget是Linux中最经典的下载工具,以其稳定性和强大的功能著称,它支持HTTP、HTTPS、FTP等多种协议,并能够递归下载整个网站目录,wget的基本语法为wget [选项] URL,常用选项包括:

  • -b:后台下载,将日志输出到当前目录的wget-log文件中。
  • -c:断点续传,适用于因网络中断导致的未完成下载。
  • -r:递归下载,可配合-np(不下载父目录)和-k(转换链接)使用,用于镜像网站。
  • -P:指定下载文件保存的目录,如wget -P /path/to/dir URL
  • --limit-rate:限制下载速度,例如wget --limit-rate=100k URL限制为100KB/s。
  • -O:指定输出文件名,如wget -O newname.zip URL

下载一个大型文件并启用断点续传:wget -c -O largefile.zip http://example.com/largefile.zip,若需下载整个网站的前5层目录,可使用wget -r -l 5 -np -k http://example.com

curl命令

curl是一个功能强大的网络传输工具,支持HTTP、HTTPS、FTP、SCP等数十种协议,常用于API测试和数据传输,curl的语法为curl [选项] URL,核心优势在于灵活性和对复杂请求的支持:

  • -o-O:保存输出到文件,-o指定文件名,-O使用URL中的文件名。
  • -L:跟随重定向,适用于短链接或需要跳转的URL。
  • -C -:启用断点续传,与wget的-c类似。
  • -u:提供用户认证信息,如curl -u username:password ftp://example.com/file
  • -d:发送POST请求的数据,常用于API交互,如curl -d "param1=value1" -X POST URL
  • --limit-rate:限速下载,语法同wget。

通过curl下载文件并显示进度条:curl -L -O -# URL,若需下载多个文件,可结合-o指定不同输出名,或通过文件列表批量下载。

Linux下载命令有哪些?怎么用?-图2
(图片来源网络,侵删)

aria2命令

aria2是一款轻量级且高速的多协议下载工具,支持HTTP、HTTPS、FTP、BT、磁力链接等协议,尤其适合多线程下载,其核心优势在于高并发和资源占用低,安装后可通过aria2c命令调用:

  • -x:最大并发连接数,默认为16,可设置为aria2c -x 16 URL
  • -s:分片数量,与-x配合使用提升速度,如aria2c -x 16 -s 16 URL
  • -c:启用断点续传。
  • -d:指定下载目录,-o指定文件名。
  • --max-download-limit:限制下载速度,如aria2c --max-download-limit=100k URL
  • -i:从文件中读取URL列表,支持批量下载。

使用aria2下载BT种子:aria2c -t 32 -x 16 -s 16 file.torrent,若需通过磁力链接下载,可直接使用aria2c "magnet:?xt=urn:btih:..."

其他工具

  1. axel:多线程下载工具,语法简单,适合快速下载大文件,常用axel -n 10 URL(10线程)。
  2. lftp:支持FTP/SFTP/HTTP的高级客户端,可通过mirror命令同步目录,如lftp -u user,pass -e "get file; exit" host
  3. rsync:主要用于文件同步和增量备份,但也可通过rsync -avz --progress URL local_dir实现下载。

工具对比

工具 支持协议 多线程 断点续传 特色功能 适用场景
wget HTTP/HTTPS/FTP 支持 递归下载、网站镜像 网站爬取、简单下载
curl 多协议 支持 API交互、自定义请求头 API测试、复杂请求
aria2 多协议+BT 支持 支持 多协议、资源占用低 大文件、BT/磁力链接
axel HTTP/HTTPS 支持 支持 简单快速 高速HTTP下载
lftp FTP/SFTP/HTTP 支持 支持 目录同步、脚本化 服务器文件同步

使用建议

  • 简单下载:优先选择wget或curl,两者预装于多数Linux发行版。
  • 大文件/多线程:使用aria2,通过-x-s参数优化速度。
  • 网站镜像:wget的-r-np组合更高效。
  • API交互:curl的-d-H选项更灵活。
  • 批量下载:aria2支持文件列表,wget可通过-i读取URL文件。

相关问答FAQs

Q1: 如何在Linux中下载一个需要登录的网站文件?
A1: 可使用curl的-u参数提供用户名和密码,例如curl -u username:password -O https://example.com/protected/file.zip,若网站使用Cookie认证,可先通过浏览器获取Cookie,再通过-b参数传入,如curl -b "cookie=value" -O URL,wget则可通过--http-user--http-password指定认证信息。

Q2: 下载过程中如何监控实时速度和进度?
A2: wget默认显示进度条,若需实时速度,可结合-v(详细模式)或使用pv工具(需安装)管道显示,如wget -q -O - URL | pv > file,curl的参数可显示进度条,-w格式化输出速度,例如curl -w "%{speed_download}\n" -O URL,aria2默认显示实时速度和进度,无需额外参数。

Linux下载命令有哪些?怎么用?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇