Linux 中的 Wget 命令及示例

2023-10-18

GNU Wget 是一个用于从网络下载文件的命令行实用程序。使用 Wget,您可以使用 HTTP、HTTPS 和 FTP 协议下载文件。 Wget 提供了许多选项,允许您下载多个文件、恢复下载、限制带宽、递归下载、后台下载、镜像网站等等。

本文展示了如何使用wget通过实际示例和最常见选项的详细解释来了解命令。

安装 Wget#

如今,大多数 Linux 发行版都预装了 wget 软件包。

要检查您的系统上是否安装了 Wget 软件包,请打开控制台,输入wget,然后按 Enter 键。如果安装了wget,系统会打印wget: missing URL。否则会打印wget command not found.

If wget尚未安装,您可以使用发行版的包管理器轻松安装它。

在 Ubuntu 和 Debian 上安装 Wget#

sudo apt install wget

在 CentOS 和 Fedora 上安装 Wget#

sudo yum install wget

Wget 命令语法#

在讨论如何使用之前wget命令,让我们首先回顾一下基本语法。

The wget实用表达式采用以下形式:

wget [options] [url]
  • options - The wget 选项
  • url- 您要下载或同步的文件或目录的 URL。

如何下载文件wget #

以最简单的形式,在没有任何选项的情况下使用时,wget会将[url]中指定的资源下载到当前目录。

在以下示例中,我们正在下载 Linux 内核 tar 存档:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

从上图中可以看出,wget首先解析域的 IP 地址,然后连接到远程服务器并开始传输。

下载过程中,wget显示进度条以及文件名、文件大小、下载速度和完成下载的预计时间。下载完成后,您可以在您的文件夹中找到下载的文件当前工作目录 .

要关闭输出,请使用-q option.

如果文件已经存在,wget将添加.N(数字)位于文件名末尾。

以不同的名称保存下载的文件#

要将下载的文件保存在不同的名称下,请传递-O选项后跟所选名称:

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

上面的命令将保存最新的hugo来自 GitHub 的 zip 文件为latest-hugo.zip而不是它原来的名字。

下载文件到特定目录#

默认情况下,wget将把下载的文件保存在当前工作目录中。要将文件保存到特定位置,请使用-P option:

wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

上面的命令告诉我们wget将 CentOS 7 iso 文件保存到/mnt/iso目录。

限制下载速度#

要限制下载速度,请使用--limit-rate选项。默认情况下,速度以字节/秒为单位测量。附加k以千字节为单位,m兆字节,以及g千兆字节。

以下命令将下载 Go 二进制文件并将下载速度限制为 1MB:

wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

当您不想要时此选项很有用wget消耗所有可用带宽。

恢复下载#

您可以使用以下命令恢复下载-c选项。如果您的连接在下载大文件期间断开,那么您可以继续上一个文件,而不是从头开始下载,这非常有用。

在以下示例中,我们将恢复 Ubuntu 18.04 iso 文件的下载:

wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

如果远程服务器不支持断点续传,wget将从头开始下载并覆盖现有文件。

后台下载#

要在后台下载,请使用-b选项。在以下示例中,我们在后台下载 OpenSuse iso 文件:

wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

默认情况下,输出被重定向到wget-log当前目录中的文件。要查看下载状态,请使用tail命令:

tail -f wget-log

更改 Wget 用户代理#

有时,在下载文件时,远程服务器可能会被设置为阻止 Wget 用户代理。在这种情况下,要模拟不同的浏览器,请传递-U option.

wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/

上面的命令将模拟 Firefox 60 请求页面wget-forbidden.com

下载多个文件#

如果您想一次下载多个文件,请使用-i选项后跟包含要下载的 URL 列表的本地或外部文件的路径。每个 URL 需要单独占一行。

以下示例显示如何使用在中指定的 URL 下载 Arch Linux、Debian 和 Fedora iso 文件linux-distros.txt file:

wget -i linux-distros.txt
linux发行版.txt
http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

如果您指定-作为文件名,URL 将从标准输入中读取。

通过FTP下载#

要从受密码保护的 FTP 服务器下载文件,请指定用户名和密码,如下所示:

wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz

创建网站的镜像#

创建网站的镜像wget, 使用-m选项。这将通过跟踪和下载所有内部链接以及网站资源(JavaScript、CSS、图像)来创建网站的完整本地副本。

wget -m https://example.com

如果您想使用下载的网站进行本地浏览,则需要向上面的命令传递一些额外的参数。

wget -m -k -p https://example.com

The -k选项将导致wget转换下载文档中的链接,使其适合本地查看。这-p选项会告诉你wget下载显示 HTML 页面所需的所有文件。

跳过证书检查#

如果您想通过 HTTPS 从具有无效 SSL 证书的主机下载文件,请使用--no-check-certificate option:

wget --no-check-certificate https://domain-with-invalid-ss.com

下载到标准输出#

在下面的示例中,wget会悄悄地(旗帜-q) 下载最新的 WordPress 版本并将其输出到 stdout ( flag-O -)并将其通过管道传输到tar实用程序,它将把存档解压到/var/www目录。

wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www

结论#

With wget,您可以下载多个文件、恢复部分下载、镜像网站以及根据您的需要组合 Wget 选项。

要了解有关 Wget 的更多信息,请访问GNU wget 手册 page.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的 Wget 命令及示例 的相关文章

  • SQLPlus varchar2 输出空格

    当我像下面这样查询表时 NAME 列的输出太长 我最近将数据类型更改为 VARCHAR2 150 而不是 VARCHAR 150 以不保存空格 然而 输出似乎无论如何都包含 一些 空格 谁能澄清这里发生了什么事吗 我是否在这里查看空格 或者
  • sudo bang bang 到底是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 sudo bang bang 的目的是什么 sudo 什么时候可能需要使用它 砰砰砰 命令是一个快捷方式重复您在终端中输入的上一个命令 当您忘记需要管
  • 谷歌 Colab 上的 RVL-CDIP 数据集

    我正在尝试使用以下命令在 google colab 上下载 RVL CDIP 数据集 wget load cookies tmp cookies txt https docs google com uc export download co
  • OS X Mavericks 安装 rvm 警告

    在终端中运行时 curl L https get rvm io bash s 它似乎工作正常 但在最后的升级说明中它说 WARNING You have profile file you might want to load it to d
  • 捕获不带 \n 的输入

    我正在终端中制作一个简单的 2d 游戏 我一直想知道如何获得标准输入而不必返回 因此 用户不必按 w n n 用于返回 而只需按 w 即可前进 scanf gets 和 getchar 无法做到这一点 但我以前见过在 Vi 等程序中做到过
  • 编写脚本以使用预定义密码创建多个用户

    所以我想制作一个从运行的 users txt 创建用户的脚本 useradd m s bin false users in the users txt 并填写passwords txt中的密码两次 以确认密码 这是脚本 bin bash A
  • VSCode 上的 Pipenv:为什么终端上不显示 (pipenv)?

    我正在 VSCode Bash 终端上设置 pipelinev 虚拟环境 但它没有显示 pipenv 这使得它非常混乱 当我使用Pycharm并让它配置pipenv环境时 它会自动显示 pipenv 在项目路径之后 所以很容易判断我是否在
  • cURL下载文件问题

    当我给出 URL 时 http 192 168 150 41 8080 filereport 31779 json 在浏览器中 它会自动下载文件为31779 report json 现在使用我正在尝试使用下载文件curl但我收到以下错误 c
  • 我安装了 nvm n,现在我不断收到“dyld:错误的外部重定位长度”

    我使用 sudo 安装了 nvm n 并决定通过在我的系统上下载多个版本的节点来测试它 当我尝试在节点版本之间切换时 我不断收到 权限被拒绝 的消息 所以我决定也使用 sudo 命令来切换版本 就在那时 一切都崩溃了 我不断得到 dyld
  • 如何在终端中显示图像?

    是否有任何类型的实用程序可以用来将图像转换为 ASCII 然后在我的终端中打印 我寻找过 但似乎没有找到 一个名为cacaview http linux die net man 1 cacaview允许您执行此操作 它是交互式的 允许您平移
  • aria2c - 有什么办法只保留失败下载的列表吗?

    我在用aria2c下载以文本文件形式组织的相当大的 url 列表 6000 基于此gist https gist github com jonbakerfish 0f7877c050b648169e0958ea2e2c6aca 我使用以下脚
  • “wget -O”是什么意思?

    我的 shell 脚本中有一个像这样的 wget 命令 reponse wget O http localhost 8080 app index html 我不明白 O 选项 有人向我解释说 O 输出到某个地方 输出到当前流 我在 wget
  • 使用 WGET 运行 cronjob PHP

    我尝试执行一个 cron 并每 5 分钟运行一个 url 我尝试使用 WGET 但我不想下载服务器上的文件 我只想运行它 这是我使用的 crontab 5 wget http www example com cronit php 除了 wg
  • Mac 10.8.3 上的 fltk 安装

    我正在挣扎fltk在我的 Mac 上安装 我想在Xcode 4 下载文件并解压缩后 尝试按照说明操作 2 3 Configuring FLTK Stay in your FLTK source code directory Type aut
  • 箭头键变成 Telnet 中的控制字符

    我在 Ubuntu 终端中 并通过 telnet 连接到服务器 现在每当我输入 up 时 它就会变成 A 其他箭头键也变成控制字符 有没有办法可以运行 telnet 以便它理解我的箭头键 这将是一个巨大的帮助 因为我想在我的命令历史记录中向
  • 如何取消 Postgres 中的错误命令(从终端)?

    我在尝试编写函数时写了一个错误的命令 我在函数中犯了一个错误 并且想在没有完成函数的情况下退出它 并且我想退出它 但是终端的命令提示符不允许我退出 我试过这个 https unix stackexchange com questions 4
  • 在 Mac 上使用 JRE 打开 jar 文件

    我有一个 jar 文件 旨在通过命令行运行 我不打算在运行应用程序的机器上进行任何java开发 我的思考过程是 因此我应该只需要JRE而不是JDK 此外 JDK 大约是 JRE 的 4 倍 我不想下载它 在 Mac 上安装 JRE 时 它不
  • Gulp 错误:找不到模块“jshint/src/cli”

    因此 我重新安装了 El Capitan 并再次尝试这些任务运行程序 我正在跟进sitepoint 的 Gulp js 简介 http www sitepoint com introduction gulp js 但当我尝试运行时 我陷入了
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用

随机推荐

  • 使用 Pandas read_parquet 读取 Parquet 文件

    The read parquet函数于Pandas允许您将 Parquet 文件读入数据框 它提供了从本地文件路径或 URL 读取 Parquet 文件的功能 它的多功能性还不止于此 该函数提供了几个额外的选项来加载和处理文件中的数据 目录
  • Shell 脚本编写第 4 部分 – 输入、输出和重定向

    在上一篇文章中 我们讨论了参数和选项详细 今天 我们将讨论 shell 脚本中的一些基本内容 即输入 输出和重定向 您可以通过两种方式显示 shell 脚本的输出 在屏幕上显示输出 将输出发送到文件 目录 hide 1 标准文件描述符 2
  • 使用 to_excel 将 Python Pandas DataFrame 导出到 Excel

    The to excel功能允许您导出PandasDataFrame 到 Excel 文件 这对每个数据科学家都非常有益 本教程将让您全面了解如何to excel函数的工作原理 以及如何自定义其行为以满足您的需求 目录 hide 1 基本语
  • 使用 Python Pandas read_csv 读取 CSV

    在本教程中 我们将重点关注read csv函数 它允许我们读取 CSV 文件并将其转换为Pandas数据框 The read csvfunction 不仅仅是一个 CSV 文件加载工具 它配备了大量参数来处理 CSV 文件中可能出现的各种情
  • 如何在 MongoDB 中创建管理员用户

    在大规模的软件工程中 我们在每一步的实现中都会遇到问题 然而 最大的挑战仍然是找出问题的根本原因并解决它们 在本文中 我们将学习如何使用 MongoDB 实现用户身份验证 并在用户不再是组织的员工时删除 MongoDB 中的用户 Mongo
  • 测试主机标头注入漏洞

    在不断发展的 Web 安全领域 主机标头注入是可能困扰 Web 应用程序的漏洞之一 当 Web 应用程序或服务器未正确验证或限制传入 HTTP 请求中的主机标头时 就会出现此缺陷 从而使其遭受恶意利用 无论您是开发人员 安全专业人士还是好奇
  • 理解 Python 的下划线 (_):综合指南

    Python 作为一种灵活且直观的语言 引入了许多可以简化编码的结构 下划线就是这样的一种结构 一个具有多种用途的特殊字符 范围从变量命名到解释器目的等等 对于新手程序员来说 下划线可能会让人感到困惑 但理解它们的用途可以显着提高你的 Py
  • Python – 如何创建嵌套目录结构

    The pathlib模块提供了表示文件系统路径的类 其语义适用于不同的操作系统 我们可以创建嵌套目录结构路径库 Path mkdirPython 中的函数 On Linux from pathlib import Path Path di
  • 如何在 Debian 11/10 上安装 Apache Solr 9.0

    阿帕奇 索尔是一个用Java编写的开源搜索平台 Solr 提供全文搜索 拼写建议 自定义文档排序和排名 片段生成和突出显示 本教程将帮助您在 Debian 11 Debian 10 Buster Debian 9 Stretch 和 Deb
  • Linux 中的 Wget 命令及示例(下载文件)

    The wgetLinux 中的命令是从互联网下载文件的强大工具 它允许您从 URL 下载文件并将其保存到本地文件系统 该命令行实用程序可用于下载单个文件 整个目录甚至整个网站 无论您需要下载文件进行备份 还是在系统之间传输大文件 wget
  • 如何从 Ubuntu Linux 中删除(删除)PPA

    如果您已经使用 Ubuntu 一段时间 您可能熟悉术语 PPA 它代表个人软件包存档 PPA 是安装和更新官方 Ubuntu 存储库中未提供的软件的好方法 但是 有时您可能想要删除 PPA 因为不再需要它或因为它导致问题 在本文中 我们将完
  • 20 个常见的 JavaScript 面试问题和答案

    JavaScript 是世界上最流行的编程语言之一 因此 这也是技术面试中最常被问到的话题之一 无论您是初学者还是经验丰富的开发人员 为 JavaScript 面试问题做好充分准备都很重要 在本文中 我们将讨论 20 个常见的 JavaSc
  • 如何在 Ubuntu 15.10、14.04 和 12.04 上安装 RabbitVCS

    兔子VCS是版本管理系统 SVN 和 Git 的图形客户端 它提供了一个简单且易于使用的图形用户界面 可以说 RabbitVCS 是 TortoiseSVN 的最佳 Linux 替代品 本教程将帮助您在 Ubuntu 15 10 14 04
  • 如何更改 Linux 内核中的 Swappiness 值

    Swappiness 是一个 Linux 内核参数 用于控制交换空闲进程和使用可用 RAM 内存之间的平衡 大多数Linux发行版中的默认交换值是60 这意味着当可用内存低于40 时系统开始交换进程 但是 此默认值可能并不适合所有情况 更改
  • Linux 中的 du 命令及有用示例

    du 是缺少磁盘使用 这意味着 du 命令计算文件在磁盘上使用的大小 它是Linux系统用户经常使用的基本Linux命令 Syntax du OPTION FILE 在本教程中 您将通过有用的示例了解 du 命令在 Linux 中的用法 d
  • 如何在 PHP 中向数组追加项目

    问题 如何在 PHP 中向数组追加项目 如何在 PHP 中将任何元素追加到现有数组的末尾 如何在 PHP 中将元素推送到数组 本教程使用数组推 函数将新元素插入或追加到数组末尾 PHP 将元素追加到数组 以下示例创建一个包含两个元素 如 b
  • 如何在 Ubuntu 18.04 上安装 Yarn

    Yarn 是一个与 npm 兼容的 JavaScript 包管理器 可帮助您自动执行安装 更新 配置和删除 npm 包的过程 它的创建是为了解决 npm 的一系列问题 例如通过并行操作加快软件包安装过程并减少与网络连接相关的错误 在本教程中
  • 如何在 CentOS 7 上安装 Python 3

    本教程将指导您使用 Software Collections SCL 以及发行版默认 Python 版本 2 7 在 CentOS 7 系统上安装 Python 3 我们还将向您展示如何创建 Python 虚拟环境 Python 是世界上最
  • 如何在 Debian 10 Linux 上安装 Vagrant

    Vagrant是一个用于构建和管理虚拟机环境的开源命令行工具 默认情况下 Vagrant 可以在 VirtualBox Hyper V 之上配置计算机 和码头工人 其他提供商如 Libvirt KVM VMware 和 AWS 可以通过 V
  • Linux 中的 Wget 命令及示例

    GNU Wget 是一个用于从网络下载文件的命令行实用程序 使用 Wget 您可以使用 HTTP HTTPS 和 FTP 协议下载文件 Wget 提供了许多选项 允许您下载多个文件 恢复下载 限制带宽 递归下载 后台下载 镜像网站等等 本文