インターネットからのファイルダウンロード

LinuxBeginner
オンラインで実践に進む

はじめに

この実験(Lab)では、curlwget という 2 つの一般的なコマンドラインツールを使って、インターネットからファイルをダウンロードする方法を学びます。これらのツールは、Web サーバーからファイルやデータを取得するために不可欠であり、Linux ユーザーや開発者にとって貴重なスキルとなります。

curl は、さまざまなプロトコルからファイルをダウンロードし、HTTP リクエストを実行できる多機能ツールです。wget は、主に Web サーバーからファイルをダウンロードするために使用される、よりシンプルなツールです。この実験の終わりには、両方のツールを使ってファイルをダウンロードし、基本的な HTTP リクエストを行うことに慣れているでしょう。

curl でのファイルのダウンロード

まず、curl を使用して、Web サイトからシンプルな HTML ファイルをダウンロードすることから始めましょう。

  1. ターミナルを開きます。

  2. プロジェクトディレクトリに移動します。ターミナルで、次のように入力します。

cd /home/labex/project

このコマンドは、現在のディレクトリを /home/labex/project に変更します。cd コマンドは "change directory"(ディレクトリの変更)の略です。

  1. 次に、curl を使用して Web ページをダウンロードしましょう。次のコマンドを入力します。
curl http://example.com -o example.html

このコマンドを分解してみましょう。

  • curl は、使用しているプログラムの名前です。
  • http://example.com は、ダウンロードする Web ページの URL です。
  • -o example.html は、curl にダウンロードしたコンテンツを example.html という名前のファイルに保存するように指示します。-o オプションは "output"(出力)の略です。
  1. コマンドを実行すると、curl はコンテンツをダウンロードし、現在のディレクトリに example.html として保存します。ファイルがダウンロードされたことを確認するために、ディレクトリの内容を一覧表示できます。
ls -l example.html

ls コマンドは、ファイルとディレクトリを一覧表示します。-l オプションは、詳細な(長い)リストを提供します。出力に example.html が表示され、そのサイズと最終更新日に関する情報も表示されるはずです。

ダウンロードしたファイルの検証

ファイルをダウンロードしたので、その内容を見てみましょう。

  1. ファイルの内容を表示するには、cat コマンドを使用します。次のように入力します。
cat example.html

cat は "concatenate"(連結)の略ですが、ファイルのコンテンツを表示するためによく使用されます。example.com のホームページの HTML コンテンツが表示されるはずです。HTML に慣れていない場合は、テキストの羅列のように見えるかもしれませんが、心配しないでください。これは、Web ブラウザが Web ページを表示するために使用する生のコードです。

  1. ファイルが非常に大きい場合があり、最初だけを見たい場合があります。このために、head コマンドを使用できます。
head -n 10 example.html

このコマンドは、ファイルの最初の 10 行を表示します。-n 10 オプションは、head に 10 行を表示するように指示します。この数字を変更して、表示する行数を増減できます。

  1. ファイルの末尾を表示するには、tail コマンドを使用できます。
tail -n 10 example.html

これは、ファイルの最後の 10 行を表示します。

これらのコマンドは、特に大きなファイルを扱う場合に、ファイル全体を開かずにすばやく検査するのに役立ちます。

curl を使用した複数ファイルのダウンロード

curl は、単一のコマンドで複数のファイルをダウンロードできます。2 つのファイルを一度にダウンロードしてみましょう。

  1. まず、example.com から index ページと about ページの両方をダウンロードし、その内容を表示してみましょう。
curl http://example.com/index.html http://example.com/about.html

このコマンドは、両方のページの内容をターミナルに出力します。2 つの HTML ドキュメントが連続して表示されます。これは、簡単な確認には便利ですが、ファイルを保存したい場合には理想的ではありません。

  1. これらのファイルを、表示する代わりに保存するには、-O オプションを使用します。大文字の -O は、curl に URL からファイル名を使用するように指示します。
curl -O http://example.com/index.html -O http://example.com/about.html

このコマンドは、両方のファイルをダウンロードし、元の名前(index.htmlabout.html)で現在のディレクトリに保存します。今回は、内容はターミナルに表示されません。

  1. ファイルがダウンロードされたことを確認するには、ディレクトリの内容を一覧表示できます。
ls -l index.html about.html

両方のファイルが、そのサイズと最終更新時刻とともに表示されるはずです。

  1. 複数のファイルをダウンロードし、カスタム名を付けたい場合は、複数の -o オプションを使用できます。
curl -o custom_index.html http://example.com/index.html -o custom_about.html http://example.com/about.html

これにより、ファイルは custom_index.htmlcustom_about.html として保存されます。

wget を使用したファイルのダウンロード方法

次に、ファイルをダウンロードするための別の一般的なツールである wget を見てみましょう。wget は、そのシンプルさと、大きなダウンロードや不安定な接続を処理できる能力から、しばしば好まれます。

  1. まず、wget を使用して example.com からファイルをダウンロードしてみましょう。
wget http://example.com/index.html

wget は、ファイルをダウンロードする際にプログレスバーを表示します。これは、ファイルのどの部分がダウンロードされたか、完了までどのくらいかかるかを確認できるため、特に大きなファイルに役立ちます。

  1. デフォルトでは、wget はファイルを元の名前で保存します。別の名前を指定するには、-O オプションを使用します(curl が小文字の o を使用するのとは異なり、大文字の O であることに注意してください)。
wget -O custom_name.html http://example.com/index.html

これにより、ファイルは custom_name.html として保存されます。プログレスバーは引き続き表示されますが、ファイルは指定した名前で保存されます。

特定のディレクトリへのファイルダウンロード

多くの場合、現在の作業ディレクトリではなく、特定のディレクトリにファイルをダウンロードしたい場合があります。curlwget の両方でこれを行うことができますが、異なる方法を使用します。

  1. まず、ファイルをダウンロードするための新しいディレクトリを作成しましょう。
mkdir downloads

これにより、現在の場所に downloads という名前の新しいディレクトリが作成されます。

  1. 次に、curl を使用して、このディレクトリにファイルをダウンロードしてみましょう。
curl -o downloads/curl_file.html http://example.com

curl-o オプションを使用すると、パスを含む出力ファイルを指定できます。このコマンドは、example.com からコンテンツをダウンロードし、downloads ディレクトリに curl_file.html として保存します。

  1. 次に、wget を使用して、同じディレクトリにファイルをダウンロードしてみましょう。
wget -P downloads http://example.com/index.html

wget-P オプションは「prefix(プレフィックス)」の略で、ファイルを保存するディレクトリを指定できます。このコマンドは、example.com から index.html をダウンロードし、downloads ディレクトリに保存します。

  1. 両方のファイルが downloads ディレクトリにダウンロードされたことを確認できます。
ls -l downloads

出力に curl_file.htmlindex.html の両方が表示されるはずです。

  1. 現在のディレクトリを変更せずにこれらのファイルの内容を表示するには、フルパスを使用して cat を使用できます。
cat downloads/curl_file.html
cat downloads/index.html

これにより、ダウンロードしたファイルの内容を確認できます。

まとめ

おめでとうございます! curlwget を使用してインターネットからファイルをダウンロードする実験を正常に完了しました。学んだことを振り返ってみましょう。

  1. curl を使用して個々のファイルをダウンロードし、カスタム名で保存しました。
  2. 単一の curl コマンドで複数のファイルをダウンロードする方法を調べました。
  3. wget を使用して、デフォルト名とカスタム名の両方でファイルをダウンロードする方法を学びました。
  4. wget を使用してファイルを再帰的にダウンロードする練習をしました。
  5. curlwget の両方を使用して、特定のディレクトリにファイルをダウンロードする方法を学びました。

これらのスキルは、Web コンテンツの取得からソフトウェアパッケージのダウンロードまで、Linux の多くのタスクの基本です。Linux での学習を続けるにつれて、これらのツールがさまざまなスクリプト作成および自動化タスクに非常に役立つことがわかるでしょう。

curlwget には、さらに多くのオプションと機能があることを忘れないでください。詳細については、man ページ(man curl および man wget)を確認して、高度な機能を調べてください。

これらのツールを練習し、探索し続けることで、Linux でファイルと Web コンテンツをより効率的に操作できるようになります!