GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでのWgetコマンドと例

はじめに

Wgetコマンドは、Webからファイルをダウンロードするのに役立つLinuxコマンドラインユーティリティです。 HTTP、HTTPS、FTPプロトコルを使用してWebサーバーからファイルをダウンロードできます。スクリプトとcronジョブでwgetを使用できます。

ここで非対話型とは、ユーザーがログオンしていない間、バックグラウンドで動作できることを意味します。 Linuxディストリビューションの最小インストールを実行すると、wgetコマンドがインストールされないため、Linuxディストリビューションにwgetをインストールするには、

を実行します。
$ sudo yum install -y wget     for  CentOS 7 / RHEL 7
$ sudo dnf install -y wget     for CentOS 8/ RHEL 8/ Rocky Linux 8
$ sudo apt install -y wget     for Ubuntu / Debian
$ sudo pacman -S wget          for Arch Linux
$ sudo zypper install wget     for OpenSUSE

wgetを使用して単一のファイルをダウンロードする

[unixcop@rhel-pc ~]$ wget https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
--2021-08-13 04:24:05--  https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.91.124, 91.189.91.123, 2001:67c:1562::28, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.91.124|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2877227008 (2.7G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.2.0-desktop-amd64.iso’

ubuntu-20.04.2.0-desktop-amd64.iso      47%[=======          ]   4.3G   2.13M/s    eta 1h 02m

このコマンドは、ユーザーの現在の作業ディレクトリにあるUbuntuISOファイルをダウンロードします。

部分的にダウンロードされたファイルを再開します

wgetコマンドでオプション「-c」オプションを使用すると、切断された場所からダウンロードを再開できます。

[unixcop@rhel-pc ~]$ wget -c https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

バックグラウンドでファイルをダウンロード

wgetコマンドの「-b」オプションを使用してバックグラウンドでファイルをダウンロードします

[unixcop@rhel-pc ~]$ wget -b https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Continuing in background, pid 2412.
Output will be written to ‘wget-log’.
[unixcop@rhel-pc ~]$ 

また、tailコマンドを使用して、ダウンロードのステータスを表示します。

[unixcop@rhel-pc ~]$ tail -f wget-log
  2700K .......... .......... .......... .......... ..........  0% 85.8K 16h41m
  2750K .......... .......... .......... .......... ..........  0% 90.0K 16h32m
  2800K .......... .......... .......... .......... ..........  0% 78.8K 16h25m
  2850K .......... .......... .......... .......... ..........  0%  189K 16h13m
  2900K .......... .......... .......... .......... ..........  0% 92.4K 16h5m
  2950K .......... .......... .......... .......... ..........  0% 89.7K 15h57m
  3000K .......... .......... .......... .......... ..........  0% 92.8K 15h50m
  3050K .......... .......... .......... .......... ..........  0%  177K 15h39m
  3100K .......... .......... .......... .......... ..........  0% 91.2K 15h32m
  3150K .......... .......... .......... .......... ..........  0% 96.0K 15h25m
  3200K .......... .......... .......... .......... ..........  0% 79.6K 15h20m
  3250K .......... .......... .......... .......... ..........  0%  199K 15h9m
  3300K .......... .......... .......... .......... ..........  0% 97.7K 15h3m
  3350K .......... .......... .......... .......... ..........  0% 94.6K 14h57m
  3400K .......... .......... .......... .......... ..........  0% 95.8K 14h51m
  3450K .......... .......... .......... .......... ..........  0% 96.0K 14h45m
  3500K .......... .......... .......... .......... ..........  0%  102K 14h39m
  3550K .......... .......... .......... .......... ..........  0%  153K 14h31m
  3600K .......... .......... .......... .......... ..........  0% 62.1K 14h29m
  3650K .......... .......... .......... .......... ..........  0%  109K 14h23m
  3700K .......... .......... .......... .......... ..........  0% 83.1K 14h19m
  3750K .......... .......... .......... .......... ..........  0%  118K 14h13m
  3800K .......... .......... .......... .......... ..........  0%  104K 14h8m
  3850K .......... .......... .......... .......... ..........  0%  112K 14h2m





etc..

ファイルのダウンロード中にダウンロード速度を制限する

「–limit-rate」オプションを使用してダウンロード速度を制限できます。

[unixcop@rhel-pc ~]$ wget --limit-rate=350k https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

ダウンロード制限を350Kに設定しました。

複数のファイルをダウンロードする

まず、テキストファイルを作成し、以下に示すように、そのテキストファイルにすべてのURLを追加します。

[unixcop@rhel-pc ~]$ cat wget-download-list.txt 
http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso

[unixcop@rhel-pc ~]$ 

今すぐ実行:

[unixcop@rhel-pc ~]$ wget -i wget-download-list.txt 
--2021-08-13 04:36:46--  http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
Resolving centos.mirror.server24.net (centos.mirror.server24.net)... 217.70.144.100, 2001:1a38:144::100
Connecting to centos.mirror.server24.net (centos.mirror.server24.net)|217.70.144.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9928966144 (9.2G) [application/octet-stream]
Saving to: ‘CentOS-8.4.2105-x86_64-dvd1.iso’

CentOS-8.4.2105-x86_64-dvd1.iso         4%[==                 ] 964M  1.9M/s    eta 3h 44m
[unixcop@rhel-pc ~]$ 

wgetでの再試行の試行回数を増やす

wgetの「-tries」オプションを使用して再試行回数を増やすことができます。デフォルトでは、wgetコマンドはダウンロードを成功させるために20回再試行します。

# wget --tries=60 http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso

上記のコマンドにより、wgetコマンドはファイルを最大60回ダウンロードしようとします。

wgetコマンドの出力をファイルにリダイレクトする

以下に示すように、「-o」オプションを使用して出力をログファイルにリダイレクトできます。

$ wget -o download_file.log http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso

で表示できます
# ls
# cat download_file.log

wgetコマンドを使用して完全なWebサイトをミラーリングする

それは次の方法で実現できます:

# wget --mirror -p --convert-links -P ./<Local-Folder> website-URL

どこ

  • –ミラー :ミラーリングに適したオプションをオンにします。
  • p :すべてのファイルをダウンロードして、特定のHTMLページを正しく表示します。
  • –convert-links :ドキュメント内のリンクをローカル表示用に変換します。
  • -P ./Local-Folder :すべてのファイルとディレクトリを指定したディレクトリに保存します。

ダウンロード中にファイルの種類を拒否する

ウェブサイト全体をダウンロードする場合は、たとえば「–reject」オプションを使用して、wgetコマンドでpdfファイルをダウンロードしないように強制できます。

# wget --reject=pdf <Website-To-Be-Downloaded>

ダウンロードクォータを設定する

ダウンロードサイズが特定のサイズを超えると、Wgetはダウンロードを終了できます。ダウンロードクォータを設定するには、wgetコマンドの「-Q」オプションを使用します。

# wget -Q14m -i wget-download-list.txt

wgetがファイルを上書きできるようにする

-oオプションを使用して出力ファイルを指定すると、既存のファイルが上書きされます。

wget -q http://www.example.com/filename.txt -O /path/filename.txt

FTPサーバーを使用してファイルをダウンロードする

wgetは匿名FTPを使用してWebからファイルをダウンロードします。ファイルをダウンロードするのにFTPログインは必要ありません。

# wget ftp://ftp.example.com/file.tar.gz

パスワードで保護されたサイトからファイルをダウンロードする

# wget --ftp-user=<user-name> --ftp-password=<password> Download-URL
OR
# wget --user <user_name> --password <password> http://<url-path>/file_you_want_to_download

ユーザー名とパスワードを指定する別の方法は、URL自体にあります。

信頼できない安全なURLからファイルをダウンロードする

httpsポートからファイルをダウンロードし、証明書のチェックをスキップしたいですか?

したがって、オプション「–no-check-certificate」を使用して実行できます

# wget https://example.com/file.tar.gz –no-check-certificate

:httpsポータルからOracle Javaをダウンロードし、証明書チェックをスキップします

# wget --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.rpm --no-check-certificate

プロキシ経由でファイルをダウンロードする

最初にプロキシを設定する必要があり、次にインターネットからファイルをダウンロードできます。コマンドラインでプロキシを設定するには、次の変数を使用してコマンドをエクスポートします

# export http_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
# export https_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
# export ftp_proxy=http://<Your-Proxy-IP>:<Proxy-Port>

プロキシにユーザー名とパスワードが必要な場合は、次を使用してください:

# export http_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
# export https_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
# export ftp_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>

wgetのバージョンを確認してください

Wgetコマンドのバージョンは以下のように確認できます

# wget –version

結論

Wgetには膨大な数のオプションがあり、それらの多くをカバーしました。

ちなみに、マニュアルページからさらに多くのオプションを見つけることができます。

# man wget


Linux
  1. Linuxでの12の便利なWgetコマンドの例

  2. 例を含むLinuxTeeコマンド

  3. Linux での wget コマンドの例

  1. 例を含むwcLinuxコマンド

  2. Linuxのソートコマンドと例

  3. LinuxでのJQコマンドと例

  1. Linuxでのエコーコマンド(例付き)

  2. Linuxでのmanコマンドと例

  3. LinuxでのAWKコマンドと例