wget コマンドは英語の「web get」の略語で、指定した URL からネットワーク ファイルをダウンロードするために使用されます。
wget コマンドは、HTTP、HTTPS、FTP などの一般的なプロトコルをサポートしており、コマンド ラインでネットワーク ファイルを直接ダウンロードできます。
curl コマンドとは異なり、wget はファイルのダウンロードにのみ使用できます。
wget コマンドの構文は次のとおりです。
wget [选项] 网址
一般的なオプションは次のとおりです。
オプション | 役割とか意味とか |
-V | バージョン情報を表示 |
-h | ヘルプ情報を表示する |
-b | 起動後はバックグラウンド実行に移行 |
-c | ブレークポイント再開のサポート |
-O | ローカルファイル名を定義する |
-tN | N は整数です。再試行回数 N を設定します。 |
-q | 静音モード |
-i ファイル名 | ダウンロードされた URL はファイル FILENAME から読み取られます |
-r | 再帰的ダウンロード |
-l | L の小文字は再帰の最大深さを指定します。0 または inf は無制限を意味します。 |
--limit-rate=レート | ダウンロード速度を RATE までに制限する |
--ftp-user=ユーザー名 | FTPサーバーにログインするためのアカウント名を指定します。 |
--ftp-password=パスワード | FTPサーバーにログインするためのアカウントとパスワードを指定します。 |
- 私は疑問に思う | ミラーサイト |
-np | 再帰的ダウンロードによく使用される親ディレクトリまではトレースバックしません。 |
-N | ローカルファイルよりも新しいファイルのみをフェッチします |
-P ディレクトリ名 | 指定したディレクトリ DIRNAME にファイルを保存します |
--チェックなし証明書 | サーバーの証明書を検証しません。HTTPS サーバーからダウンロードする場合は、このオプションを追加することをお勧めします。 |
デモンストレーションの例:
1. 指定したファイルをダウンロードする
# 不带选项,下载并按原文件名保存在当前目录
[root@myEuler ~]# wget http://192.168.18.18/k8s/docker-20.10.23.tgz
--2023-03-11 08:36:48-- http://192.168.18.18/k8s/docker-20.10.23.tgz
正在连接 192.168.18.18:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:65976837 (63M) [application/octet-stream]
正在保存至: “docker-20.10.23.tgz”
……此处省略部分输出……
2. ファイルをダウンロードして名前を変更します
# 使用选项-O,将下载的文件重命名为指定的文件名
[root@myEuler ~]# wget -O docker http://192.168.18.18/k8s/docker-20.10.23.tgz
--2023-03-11 08:38:37-- http://192.168.18.18/k8s/docker-20.10.23.tgz
正在连接 192.168.18.18:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:65976837 (63M) [application/octet-stream]
正在保存至: “docker”
……此处省略部分输出……
3. 速度制限ダウンロード
# 使用选项--limit=RATE,限制最高下载速率
[root@myEuler ~]# wget --limit=218k -O docker2 http://192.168.18.18/k8s/docker-20.10.23.tgz
--2023-03-11 08:41:16-- http://192.168.18.18/k8s/docker-20.10.23.tgz
正在连接 192.168.18.18:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:65976837 (63M) [application/octet-stream]
正在保存至: “docker2”
docker2 5%[==> ] 3.56M 218KB/s 剩余 4m 39s
4. ダウンロードタスクをバックグラウンドに置く
[root@myEuler ~]# wget -b http://192.168.18.18/k8s/docker-20.10.23.tgz
继续在后台运行,pid 为 34327。
将把输出写入至 “wget-log”。
5. ブレークポイント再開
ブレークポイント再開アップロードは、大きなファイルのダウンロードに非常に適しています。ダウンロードの途中でネットワーク上の理由によりダウンロードが中断された場合、オプション -c を使用してブレークポイント ダウンロードを再開し、最初からダウンロードすることを避けることができます。
[root@myEuler ~]# wget -c http://192.168.18.18/images/openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso
6. FTPサーバーからファイルをダウンロードする
FTP サーバーが匿名の場合、ダウンロードは HTTP と同じです。ユーザー アカウントが必要な場合は、--ftp-user と --ftp-password の 2 つのオプションを使用する必要があります。
[root@myEuler ~]# wget --ftp-user=zhangsan --ftp-password=Mima1234! ftp://192.168.218.115/docker
--2023-03-11 09:16:49-- ftp://192.168.218.115/docker
=> “docker”
正在连接 192.168.218.115:21... 已连接。
正在以 zhangsan 登录 ... 登录成功!
……此处省略后续输出……
7. 再帰的ダウンロード
サイト内のディレクトリの下にあるすべてのサブディレクトリとそのファイルをダウンロードする場合は、-r オプションを使用し、オプション -l を使用して再帰の深さを指定できます。
# 安静递归下载,递归深度为6,不追溯父目录,下载的文件保存至data目录
[root@myEuler ~]# wget -qrl 6 -np -P data/ http://192.168.18.18/images/harbor
8. ミラーサイト
特定のサイトをミラーリングしたい場合は、オプション --mirror を使用できます。このオプションは実際には再帰的ダウンロードですが、再帰の深さに制限はありません。これは本質的に -N -r -l inf --no の省略形です。 -リスト削除フォーム。
[root@myEuler ~]# wget --mirror -P /data/ http://192.168.18.18/images/
ただし、サイトが多数の Web ページを含むサイトの場合は、次のオプションを使用することをお勧めします。
--convert-links: Web ページをダウンロードした後、リンクをローカル リンクに変換します
。 -L: Web サイトにフレンドリー リンクがある可能性があるため、再帰するときに他のホストを入力しないでください。
9. ファイルからダウンロードした URL を読み取ります
# 在文件中指定要下载的URL,每行一个
[root@myEuler ~]# cat download
http://nginx.org/download/nginx-1.22.1.tar.gz
https://webcdn.m.qq.com/spcmgr/download/QQ9.7.3.28946.exe
https://webcdn.m.qq.com/spcmgr/download/WeChatSetup_3.9.0.28.exe
# 由于有HTTPS,故建议加上--no-check-certificate选项,否则可能提示没有认证不允许下载
[root@myEuler ~]# wget -i download --no-check-certificate