LinuxのWgetコマンドは、HTTP、HTTPS、およびFTPプロトコルを使用してWebからファイルをダウンロードするために使用されます。言い換えれば、wgetはLinuxシステム用の非対話型のコマンドラインダウンローダーツールであると言えます。また、HTTPプロキシを介したファイルのダウンロードもサポートしています。
ここで非対話型とは、ユーザーがログオンしていない間、バックグラウンドで動作できることを意味します。 Linuxディストリビューションの最小インストールを実行すると、wgetコマンドがインストールされないため、Linuxディストリビューションにwgetをインストールするには、
を実行します。$ sudo yum install -y wget // CentOS 7 / RHEL 7 $ sudo dnf install -y wget // CentOS 8/ RHEL 8/ Rocky Linux 8 $ sudo apt install -y wget // Ubuntu / Debian $ sudo pacman -S wget // Arch Linux $ sudo zypper install wget // OpenSUSE
このチュートリアルでは、12の便利なwgetコマンドの例を取り上げます。これらの例は、プロのようにwgetコマンドを使い始めるのに役立ちます。それでは、例を詳しく見ていきましょう。
1)wgetを使用して単一のファイルをダウンロードする
wgetコマンドを使用してファイルをダウンロードするには、wgetコマンドに続けてファイルの絶対パスを入力するだけです。例を以下に示します。
$ wget https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
このコマンドは、ユーザーの現在の作業ディレクトリにあるRocky Linux8ISOファイルをダウンロードします。
2)ダウンロードしたファイルの一部を再開します(-c)
大きなファイルのダウンロードを開始したが、途中でインターネットが切断されたシナリオがいくつかあります。そのため、wgetコマンドでオプション「-c」オプションを使用すると、切断された場所からダウンロードを再開できます。以下に例を示します。
$ wget -c https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
3)バックグラウンドでファイルをダウンロードする(-b)
バックグラウンドでファイルをダウンロードするには、wgetコマンドの「-b」オプションを使用します。このオプションは、ファイルが大きすぎて他のタスクにターミナルを使用する場合に非常に便利です。
$ wget -b https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso Continuing in background, pid 4505. Output will be written to ‘wget-log’.
上記のように、ダウンロードの進行状況は、ユーザーの現在のディレクトリにある「wget-log」ファイルにキャプチャされます。 tailコマンドを使用して、ダウンロードのステータスを表示します。
$ tail -f wget-log 2300K .......... .......... .......... .......... .......... 0% 48.1K 18h5m 2350K .......... .......... .......... .......... .......... 0% 53.7K 18h9m 2400K .......... .......... .......... .......... .......... 0% 52.1K 18h13m 2450K .......... .......... .......... .......... .......... 0% 58.3K 18h14m 2500K .......... .......... .......... .......... .......... 0% 63.6K 18h14m 2550K .......... .......... .......... .......... .......... 0% 63.4K 18h13m 2600K .......... .......... .......... .......... .......... 0% 72.8K 18h10m 2650K .......... .......... .......... .......... .......... 0% 59.8K 18h11m 2700K .......... .......... .......... .......... .......... 0% 52.8K 18h14m 2750K .......... .......... .......... .......... .......... 0% 58.4K 18h15m 2800K .......... .......... .......... .......... .......... 0% 58.2K 18h16m 2850K .......... .......... .......... .......... .......... 0% 52.2K 18h20m
4)wgetコマンドでのダウンロード速度の制限
デフォルトでは、wgetコマンドは全帯域幅を使用しようとしますが、共有インターネットを使用している場合があるため、wgetを使用して巨大なファイルをダウンロードしようとすると、他のユーザーのインターネットの速度が低下する可能性があります。 「–limit-rate」オプションを使用してダウンロード速度を制限すると、この状況を回避できます。
$ wget --limit-rate=100k https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso
上記のwgetコマンドでは、ダウンロード制限を100Kに設定しています。
5)wgetで複数のファイルをダウンロード
wgetコマンドを使用して複数のファイルをダウンロードする場合は、最初にテキストファイルを作成し、そのテキストファイルにすべてのURLを追加します。例を以下に示します:
$ cat download-list.txt https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
次に、以下のコマンドを実行します。
$ wget -i download-list.txt
上記のwgetコマンドは、ISOファイルのダウンロードを順番に開始します。
6)wgetでの再試行の試行回数を増やす
wgetの「-tries」オプションを使用して再試行回数を増やすことができます。デフォルトでは、wgetコマンドはダウンロードを成功させるために20回再試行します。
このオプションは、インターネット接続に問題があり、大きなファイルをダウンロードする場合に非常に役立ちます。
$ wget --tries=75 https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
上記のwgetコマンドは、ファイルを最大75回ダウンロードしようとします。
7)wgetコマンドの出力をログファイルにリダイレクトします
「-o」オプションを使用して、wgetコマンドの出力をログファイルにリダイレクトできます。以下に例を示します。
$ wget -o download.log https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
download.logファイルがユーザーの現在のディレクトリに自動的に作成されます。
8)ローカル表示用の完全なWebサイトをダウンロード
wgetコマンドを使用して、ローカル表示用の完全なWebサイトをダウンロードできます。構文は、以下のとおりです。
$ wget --mirror -p --convert-links -P ./<Local-Folder> website-URL
場所
- – mirror:ミラーリングに適したオプションをオンにします。
- -p:特定のHTMLページを正しく表示するために必要なすべてのファイルをダウンロードします。
- – convert-links:ダウンロード後、ドキュメント内のリンクをローカル表示用に変換します。
- -P ./Local-Folder:すべてのファイルとディレクトリを指定されたディレクトリに保存します。
9)ダウンロード中にファイルタイプを拒否する
ウェブサイト全体をダウンロードする場合は、‘を使用してwgetコマンドで画像をダウンロードしないように強制できます。 –拒否‘ オプション。
$ wget --reject=png <Website-To-Be-Downloaded>
10)wgetでダウンロードクォータを設定する
ダウンロードサイズが特定のサイズを超えた場合、wgetコマンドにダウンロードを強制的に終了させることができます。ダウンロードクォータを設定するには、wgetコマンドの「-Q」オプションを使用します。
$ wget -Q10m -i download-list.txt
クォータが単一ファイルのダウンロードに影響を与えることはないことに注意してください。したがって、wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gzを指定すると、すべてのls-lR.gzがダウンロードされます。コマンドラインで複数のURLを指定した場合でも同様です。ただし、quotaは、再帰的に取得する場合、または入力ファイルから取得する場合にのみ機能します。したがって、「wget -Q10m -i download-list.txt」と安全に入力できます。割り当てを超えると、ダウンロードは中止されます。
11)パスワードで保護されたサイトからファイルをダウンロードする
wgetコマンド
$ wget --ftp-user=<user-name> --ftp-password=<password> Download-URL or $ wget --user <user_name> --password <password> http://<url-path>/file_to_be_downloaded
ユーザー名とパスワードを指定する別の方法は、URL自体にあります。
どちらの方法でも、わざわざ「ps」を実行する人にパスワードが公開されます。パスワードが表示されないようにするには、パスワードを.wgetrcまたは.netrcに保存し、「chmod」を使用してこれらのファイルを他のユーザーから保護してください。パスワードが本当に重要な場合は、それらのファイルにパスワードを残さないでください。ファイルを編集して、wgetがダウンロードを開始した後にパスワードを削除してください。
12)証明書のチェックをスキップしてファイルをダウンロードする
httpsポートからファイルをダウンロードし、証明書のチェックをスキップしたいというシナリオがいくつかあります。そのため、wgetコマンドでオプション「–no-check-certificate」を使用することで実行できます。
$ wget https://about.gitlab.com/ --no-check-certificate
httpsポータルからwgetコマンドを使用してOracleJavaをダウンロードし、証明書チェックをスキップします
$ 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
プロキシ経由でファイルをダウンロードする
システムがプロキシサーバーの背後で実行されている状況がいくつかあるため、そのような状況では、最初にプロキシを設定する必要があり、次にwgetコマンドを使用してインターネットからファイルをダウンロードできます。コマンドラインでプロキシを設定するには、次の変数を使用してコマンドをエクスポートします
$ 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コマンドでtarファイルをダウンロードして抽出する
最新バージョンのWordPresstarファイルをダウンロードし、それを/ var / www / htmlなどの特定のフォルダーに抽出して、以下のwgetコマンドを使用してこのタスクを実行するとします。
# wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip-components=1 -C /var/www/html
このチュートリアルは以上です。これらのwgetコマンドの例が非常に参考になることを願っています。以下のコメントセクションで貴重なフィードバックやコメントを共有してください。