はじめに
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