当前位置: 首页 > news >正文

Linux|最佳命令行下载加速器

alt

引言

无论是远程工作还是本地工作,我们经常需要从外部获取信息。在没有其他选择的情况下,使用命令行工具来获取这些信息是一个不错的选择。

本文[1]将介绍一些通过命令行下载内容时最常使用的工具。

Wget

我们首先介绍一个广受欢迎的工具 wget。它是一个网络工具,支持通过 HTTP、HTTPS 和 FTP 协议下载内容。wget 可以在后台或前台运行,这让它在你需要下载大文件时非常有用,即便你已经退出登录,下载也不会中断。

wget 提供了丰富的选项,包括进行需要认证的下载、设置递归下载的深度限制、支持 URL 的正则表达式匹配、允许排除特定内容、从文件中读取 URL 等。wget 的功能非常全面,建议通过运行命令查看其帮助文档来了解更多选项。

$ wget -h
  • wget最基本的下载示例是:
$ wget https://wordpress.org/latest.zip
  • 从文件中列出的 URL 下载的示例。首先是我们的文件列表:
$ cat list.txt

https://wordpress.org/latest.zip
https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-9-4-Stable-Full_Package.zip
https://ftp.drupal.org/files/projects/drupal-8.4.5.zip

然后您可以使用以下命令运行下载:

$ wget -i list.txt
  • 要在后台运行下载,您可以使用:
$ wget -b https://wordpress.org/latest.zip
  • 如果您想使用 wget 结合 FTP 下载单个文件。
$ wget ftp://user:password@host:/path-to-file/file.txt
  • 一个更有用的示例是使用后台和递归模式,以便您可以获得目录中的所有文件和文件夹。
$ wget -br ftp://user:password@ftp-host:/path-for-download/

许多现代 Linux 发行版上都预装了 Wget,但如果您需要安装它,可以使用:

$ sudo apt install wget    # Debian/Ubuntu like distros
# yum install wget         # CentOS/RHEL
# dnf install wget         # Fedora

Curl

curl 是一个功能强大的数据传输工具,能够与服务器进行数据交换。它兼容多种网络协议,包括但不限于 DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET 和 TFTP,根据其官方文档所述。

可以想象,有了这样的支持,curl 的应用场景非常广泛。你可能已经意识到,curl 不仅支持通过代理进行数据传输,还能够处理用户认证、FTP 的文件上传和下载、断点续传等功能。

下面是一些 curl 的使用实例:

  • 下载一个文件:
$ curl -O https://wordpress.org/latest.zip
<./pre>
Download a file to output file by your choice:

$ curl -o wordpress.zip https://wordpress.org/latest.zip
  • 要恢复中断的下载,您可以使用:
$ curl -C - O https://wordpress.org/latest.zip

要安装curl,您可以使用:

$ sudo apt install curl    # Debian/Ubuntu
# yum install curl         # CentOS/RHEL
# dnf install curl         # Fedora

Aria

Aria 是一款多功能的下载管理器,它支持包括 HTTP/HTTPS、FTP/SFTP、BitTorrent 和 Metalink 在内的各种协议。Aria 的一些独特之处在于,它能够同时从多个源点下载文件、处理磁力链接,并且具备完整的 BitTorrent 客户端功能。

作为 BitTorrent 客户端,Aria 支持分布式哈希表(DHT)、对等交换(PEX)、加密传输、磁力链接(Magnet URI)、网页播种、选择性下载以及本地对等体发现等高级特性。

以下提供了一些 Aria2 的基本使用示例:

  • 下载一个 torrent 文件的命令示例
$ aria2c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent
  • 使用文本文件中列出的 URL 下载:
$ aria2c -i downloadurls.txt
  • 恢复未完成的下载:
$ aria2c -c http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso.torrent
  • 从受密码保护的网站下载:
$ aria2c --http-user=xxx --http-password=xxx https://protectedwebsite.com/file
  • 要安装 Aria2,您可以使用以下命令:
$ sudo apt install aria2      # Debian/Ubuntu
# yum install aria2           # CentOS/RHEL
# dnf install aria2           # Fedora

Axel

我们列表中的第四款下载工具是 Axel,它通过为单个文件建立多个连接来优化下载流程。Axel 能够利用多个下载源进行单一文件的下载。开发者指出,Axel 能够将下载速度提升高达 60%,并且它兼容 HTTP/HTTPS、FTP 和 FTPS 等协议。

我们曾在一篇专门的文章中详细介绍了 Axel,你可以通过这个链接访问:如何在 Linux 系统中使用 Axel 加速 FTP 和 HTTP 下载。

在那篇文章中,你可以找到 wget、HTTP 直接下载与 Axel 在下载时间上的对比分析。

以下是一些使用 Axel 的基本示例:

  • 执行一个简单的下载任务,你可以使用如下命令
$ axel https://wordpress.org/latest.zip
  • 您可以使用相应的选项 --max-speed 或短选项 -s 设置最大下载速度。该值以每秒字节数设置:
$ axel --max-speed=512000 https://wordpress.org/latest.zip
  • 要以不同的名称保存文件,可以使用 -o 选项指定文件名:
$ axel -o wordpress.zip https://wordpress.org/latest.zip

如果您想在 Linux 系统上安装 Axel,请使用以下命令中的相应命令:

$ sudo apt install axel                                  # Ubuntu/Debian
# yum install epel release && yum install axel   # CentOS/RHEL
# dnf install axel                                       # Fedora
Reference
[1]

Source: https://www.tecmint.com/commandline-download-accelerators-for-linux/

本文由 mdnice 多平台发布

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C语言】分支与循环(循环篇)——结尾猜数字游戏实现
  • zlm-openRtpServer使用
  • 全面解锁:通过JSP和Ajax实现钉钉签到数据展示及部门筛选功能
  • TypeScript 迭代器和生成器详解
  • Python venv 虚拟环境
  • kafka从浅入深
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • 基于MFC对话框吸管实验
  • 嵌入式初学-C语言-练习三
  • 【51单片机仿真】基于51单片机设计的整数/小数计算器系统仿真源码文档——文末资料下载
  • Leetcode第136场双周赛题解(c++)
  • 云原生应用程序简介
  • 《计算机网络》(第8版)第1章 概述 复习笔记
  • 【JavaScript】栈功能(先进后出)
  • WebSocket 协议介绍
  • python3.6+scrapy+mysql 爬虫实战
  • 【5+】跨webview多页面 触发事件(二)
  • 0x05 Python数据分析,Anaconda八斩刀
  • ECMAScript6(0):ES6简明参考手册
  • HTTP请求重发
  • LeetCode18.四数之和 JavaScript
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Redis 中的布隆过滤器
  • storm drpc实例
  • TCP拥塞控制
  • 前端之React实战:创建跨平台的项目架构
  • 入门级的git使用指北
  • 说说动画卡顿的解决方案
  • MyCAT水平分库
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ###STL(标准模板库)
  • #Linux(权限管理)
  • #Z0458. 树的中心2
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (回溯) LeetCode 78. 子集
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十八)Flink CEP 详解
  • (一)80c52学习之旅-起始篇
  • (原创)可支持最大高度的NestedScrollView
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)创业的注意事项
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (轉貼) UML中文FAQ (OO) (UML)
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net core控制台应用程序初识
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET4.0并行计算技术基础(1)
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • :如何用SQL脚本保存存储过程返回的结果集
  • [3300万人的聊天室] 作为产品的上游公司该如何?