wgetコマンドでステータスコードのみを取得する方法

目次

スポンサードリンク

wgetコマンドの基本構文

wgetコマンドはインターネットから、htmlファイルや画像などのコンテンツをダウンロードする際に使用するコマンドです。

基本構文は以下です。コマンドの後にオプション、ダウンロード対象のURLと続けます。

wget [オプション] [URL]

ステータスコードのみを取得する方法

HTTPレスポンスのステータスコードのみ取得したい場合は、wgetコマンドの -S オプションを使います。-Sオプションを指定すると、標準エラー出力にレスポンス情報を表示します。以下のように1行目にステータスコード、2行目以降にレスポンスヘッダ情報が表示されます。-q オプションはwgetコマンドの標準出力を非表示にするオプションです。

[root@hostname ~]# wget -q -S https://uchy.me/blog/
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 03 May 2024 14:15:29 GMT
Content-Type: text/html
Content-Length: 20430
Connection: keep-alive
Last-Modified: Thu, 02 May 2024 13:14:39 GMT
ETag: "4fce-6177862a8adc0"
Accept-Ranges: bytes

ステータスコードのみ取得したいときは、以下のコマンドを実行します。

[root@hostname ~]# wget -q -S https://uchy.me/blog/ 2>&1 | head -n 1 | awk -F " " '{print $2}'
200

レスポンス情報は標準エラー出力にでるので、2>&1 の記述で標準エラー出力を標準出力にリダイレクトしている部分がポイントです。 標準出力のレスポンス情報から、head -n 1で1行目だけを取得し、awkコマンドで半角スペース毎にデータを分割し、2列目にあるステータスコードのみを出力しています。



Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon