logo

Linux の Curl コマンドと例

Linux のカール コマンドは、HTTP、FTP、IMAP、SFTP、TFTP、IMAP、POP3、SCP などのサポートされているプロトコルを介してサーバーにデータをダウンロードまたはアップロードするために使用されます。これはリモート ユーティリティであるため、ユーザーの介入なしで機能します。

ある場所から別の場所へのデータ転送は、コンピューター システムの重要かつ最も使用されるタスクの 1 つです。ただし、データ転送に使用できる GUI ツールは多数あります。ただし、コマンドラインで作業する場合は少し複雑になります。 curl ユーティリティを使用すると、コマンド ライン経由でデータを転送できます。

Curl は、URL 構文でファイルなどのデータを取得および送信するためのコマンド ラインのツールです。 libcurl を使用するため、libcurl でサポートされるすべてのプロトコルをサポートします。 Curl は HTTPS のサポートを提供し、HTTPS などの安全なプロトコルがデフォルトで指定されている場合に SSL 証明書検証を実装します。 Curl はリモート サーバー証明書を取得し、CA 証明書をチェックして、curl が HTTPS によってリモート サーバーにリンクするときに、リモート サーバーが要求したものであることを保証することなくリモート サーバーの有効性を保存します。

CA 証明書を定義するには、次のような多くのオプションがあります。 --capath そして --cacert 。オプション、つまり --cacert は、CA 証明書ストアのファイルの場所を指定するために利用できます。 CA 証明書ファイルが Windows プラットフォームで利用できない場合、curl は次の順序で「curl-ca-bundle.crt」CA 証明書ファイル名を検索します。

  • curl プログラムが存在するディレクトリ。
  • 現在の作業ディレクトリ。
  • システム ディレクトリ (Windows)。
  • ディレクトリ (Windows)。
  • ディレクトリは %PATH% 環境変数で指定されます。

リモート サーバーが自己署名証明書を使用している場合、またはリモート サーバー証明書が CA 証明書ファイルに記載されている CA 経由で署名されていない場合、Curl はエラー メッセージを表示します。 --insecure または -k オプションを使用すると、証明書の検証をスキップできます。リモート サーバーが有効な場合は、リモート CA 証明書を CA 証明書ストア ファイルに含めることもできます。

Curl は、ファイル転送の再開、Cookie、SSL 接続、HTTP ポスト、FTP アップロード、ユーザー認証、プロキシ サポートなどの便利なトリックをバスロードで提供します。 Curl は、転送関連のあらゆる面で libcurl によって機械化されています。

リブカールとは何ですか?

libcurl は、クライアント側の無料の URL 転送ライブラリです。 SMB、SMTP、SCP、RTMP、RTSP、POP3、MQTT、LDAP、Kerberos、IMAP、HTTPS、HTTP プロキシ トンネリング、HTTP PUT、HTTP POST、HTTP/1、Gopher、FTPS、FTP、DICT、Cookie をサポートします。このライブラリは、ユーザーとパスワードによる認証、プロキシ、LDAPS、HTTPS 証明書、HTTP フォームベースのアップロード、FTP アップロード、ファイル転送の再開、TFTP、Telnet、SFTP、およびファイル URL スキームもサポートしています。

libcurlはコンパクトです。 Microsoft Windows、UnixWare、Ultrix、Tru64、Symbian、Solaris、RISC OS、QNX Neutrino、OS/2、OpenBSD、NetWare、NetBSD、macOS、Linux、IRIX、iOS、HURD、HP などのいくつかのプラットフォームで同様に作成および動作します。 -UX、FreeBSD、DOS、Darwin、OpenVMS、BlackBerry 10、BlackBerry Tablet OS、BeOS、Android、AmigaOS、および AIX。

libcurl ライブラリは IPv6 と互換性があり、スレッドセーフで、無料です。バインディングは、Python、PHP、Java、C/C++ を含む 50 以上の言語でも利用できます。
libcurl ライブラリは、SChannel、IBM i の gskit、NSS、mbed TLS、Windows の GnuTLS、iOS および macOS の Secure Trasport、OpenSSL を介した TLS/SSL、rustls、BearSSL、wolfSSL、AmiSSL、libressl、および Boringssl をサポートします。

構文:

curl を使用するための基本的な構文は次のとおりです。

 curl [options] [URL...] 

上記の構文から、

URL:

URL 構文は、プロトコルに依存する一般的な URL です。次のように複数の URL を指定できます。

 http://site.{one,two,three}.com 

オプション:

curl コマンドは、次のコマンドライン オプションをサポートしています。

--abstract-unix-socket : ネットワークの代わりに抽象 Unix ドメイン ソケット経由で接続するために使用されます。

--anyautth: これは、最も安全なメソッドを使用するためにメソッド自体を認証するためにcurlをコマンドするために使用されます。このユーティリティはオプションのユーティリティ「--basic、--digest、--ntlm、およびnegotiate」であり、特定の認証方法を設定するために使用されます。

-a、--追加: ファイルをアップロードするために使用されます。ファイルを上書きするのではなく追加します。指定されたファイルがサーバー上に存在しない場合は、ファイルが作成されます。

ローカル日時Java

--基本: HTTP 基本認証の使用を指定します。これは、curl コマンドのデフォルトのオプションです。以前の設定を上書きする場合に便利です。

--cacert : これは、特定の証明書ファイルを使用してピアを検証するために指定されます。ファイルには複数の CA 証明書が含まれている場合があります。証明書の標準形式は PEM であるため、すべての証明書が PEM 内に存在する必要があります。

--capath: 特定のディレクトリを使用してピアを確認するために指定されます。 「パス:パス2:パス3」のようにコロン(:)で区切って複数のパスを指定できます。証明書の標準形式は PEM であるため、すべての証明書が PEM 内に存在する必要があります。

--cert-status: サーバー証明書のステータスを確認するために使用されます。証明書ステータス要求または OCSP ステープリング TLS を使用します。

--cert-type : 提供された CURL 証明書のタイプを指定します。これらの証明書は、PEM、DER、および ENG 形式にすることができます。デフォルト値は PEM です。複数回指定された場合、最後の値がカールによって取得されます。

-E、--cert : HTTPS、FTPS などの SSL ベースのプロトコルを介してファイルを取得するときに、クライアント証明書ファイルを使用するために指定されます。

--暗号: 接続で使用する暗号を選択するために使用されます。

--圧縮-ssh: 組み込みの SSH 圧縮を有効にするために使用されます。このオプションはサーバーによるリクエストとして受け取られるため、サーバーはそれを受け入れる場合と受け入れない場合があります。

--圧縮: これは、curl アルゴリズムを使用して圧縮された応答を要求するために使用され、非圧縮ドキュメントを保存します。このオプションは、サポートされていないエンコーディングのcurlに関するレポートを送信します。

-K、--config : これは、curl 引数を読み取るためのテキスト ファイルを記述するために使用されます。 Curl はテキスト ファイルのコマンド ライン引数を使用します。

--接続タイムアウト: これは、curl 接続タイムアウトの最大時間を秒単位で指定するために使用されます。

- に接続します : これは、指定されたホストとポートのペアへのリクエストを作成するために使用されます。それ以外の場合は、次のペアに接続されます。このオプションは、特定のサーバーで直接リクエストを行うための便利なツールです。

-C、 --Continue-at : これは、指定されたオフセットで以前のファイル転送を継続または再開するために使用されます。

-c、--cookie-jar : これは、操作が成功した後にすべての Cookie を書き込む特定のファイルを指定するために使用されます。

-b、--cookie : Cookie ヘッダーでデータを HTTP サーバーに転送するために使用されます。

--create-dirs: 「-o?」と組み合わせて使用​​されます。オプションを選択すると、必要なローカル ディレクトリ階層が作成されます。

--crlf (FTP SMTP): アップロード時に LF を CRLF に変換するために使用されます。これは、MVS (OS/390) 用の便利なツールです。

--crlfile : 証明書失効リストを (PEM 形式で) 指定するために使用されます。

--data-ascii : これは ?-d? のエイリアスです。オプション。

--委任: これは、ユーザー資格情報に関してサーバーが何を委任できるかをサーバーに確認するために LEVEL を設定するために使用されます。

- ダイジェスト: HTTP ダイジェスト認証を有効にするために使用されます。

-q、--無効にする: 最初の引数として使用した場合、curlrc 構成ファイルは無視されます。

--dns-インターフェース: これは、サーバーが発信 DNS 要求を送信することを確認するために使用されます。

--dns-servers : デフォルトのサーバーの代わりに DNS サーバーを指定するために使用されます。

-f、--fail: これは、サーバーエラーが発生したときにカールをサイレントに失敗させるために使用されます。

-F、 --form : ユーザーが送信した入力フォームをエミュレートするために使用されます。

-P、--ftp-port : これは、FTP で接続するときにデフォルトのリスナーの役割を逆にするために使用されます。

--ftp-ssl-ccc-mode : CCCモードの設定に使用します。

-G、--get: ?-d?でデータを指定する場合に使用します。 POST リクエストの代わりに HTTP GET リクエストで使用されるオプション。

-h、--ヘルプ: これは、使用法とサポート オプションの簡単な説明を含むヘルプ マニュアルを表示するために使用されます。

-0、--http1.0: HTTPバージョン1.0を使用する場合に指定されています。

--ignore-content-length: Content-Length ヘッダーを無視するために使用されます。

-i、--include: これは、HTTP 応答ヘッダーを含めるために使用されます。

-4、--ipv4: これは、名前を IPv4 アドレスに解決するために使用されます。

-6、--ipv6: 名前を IPv6 アドレスに解決するために使用されます。

カールのプロトコル

Curl はいくつかのプロトコルをサポートしています。

    辞書:辞書だけで単語を調べることができるようになります。FTP(S):Curl は、多くのレバーと微調整を使用して FTP プロトコルをサポートします。 TLS の有無にかかわらず。ファイル:これにより、ローカル ファイルの書き込みと読み取りが可能になります。 Curl では file://URL にリモート アクセスできませんが、ネイティブ UNC アプローチを使用して Microsoft Windows 上でアクティブにすると機能します。ゴーファー(S):ファイルを取得します。HTTP (S):Curl は、さまざまなバリエーションとオプションを使用して HTTP をサポートします。正確なコマンド ラインとビルド オプションに応じて、HTTP バージョン 0.9、1.0、1.1、2、および 3 を話すことができます。IMAP(S):Curl は、メール読み取りプロトコルを使用してメールをダウンロードします。 TLS の有無にかかわらず。LDAP (S):Curl は、TLS を使用しても使用しなくても、ディレクトリ検索を実装できます。MQTT:Curl は MQTT の 3 バージョンをサポートします。 MQTTでのダウンロードは以下と同じです。 '購読する' 任意のトピックに投稿/アップロードすることは同じです。 '公開' あらゆるトピックについて。 TLS では、MQTT はサポートされていません。POP3(S):Pop3 サーバーを介したダウンロードは、TLS を使用せずにメールを受信することを表します。RTMP (S):RTMP またはリアルタイム メッセージング プロトコルは、主にサーバーのストリーミング メディアに使用されます。RTSP:Curl は RTSP の 1.0 ダウンロードをサポートしています。SCP:Curl は、SCP の 2 つの scp 転送バージョンをサポートしています。SFTP:Curl は、SSH の 2 バージョンを介した SFTP をサポートします。中小規模企業 (S):Curl は、ダウンロードとアップロードで 1 つのバージョンの SMB をサポートします。SMTP (S):コンテンツを SMTP サーバーにアップロードするということは、TLS を使用せずに、または TLS を使用して電子メールを転送することを意味します。TELNET:Telnet URL を取得するようにcurlに通知すると、対話型セッションが開始され、stdin経由で読み取った内容が転送され、サーバーが転送した内容が結果として送信されます。TFTP:Curl は TFTP アップロードとダウンロードを実装できます。

curlコマンドのインストール

curl コマンドには、ほとんどの機能が付属しています。 Linux 配布物。ただし、システムがデフォルトでカールを実行しない場合。手動でインストールする必要があります。 Curl をインストールするには、次のコマンドを実行します。

次のコマンドを実行してシステムを更新します。

 sudo apt update sudo apt upgrade 

次に、以下のコマンドを実行して、curl ユーティリティをインストールします。

 sudo apt install curl 

以下のコマンドを実行して、インストールを確認します。

 curl -version 

上記のコマンドは、curl コマンドのインストールされているバージョンを表示します。

指定された URL のコンテンツを取得します

特定の URL のコンテンツを取得するには、URL を続けてcurl コマンドを実行します。以下のコマンドを考えてみましょう。

 curl https://www.javatpoint.com/linux-tutorial 

上記のコマンドは、指定されたページのページ データをフェッチします。以下の出力のスナップを考えてみましょう。

Linux Curl コマンド

上記の出力から、指定された URL のページ データがフェッチされていることがわかります。実行を停止するには、CTRL+C キーを押します。

データを特定のファイルに保存する

データを特定のファイルに保存するには、次のように「-o」オプションの後にディレクトリ、ファイル名、および URL を渡します。

 curl -o / 

以下のコマンドを考えてみましょう。

 curl -o /home/javatpoint/Documents/linux.html https://www.javatpoint.com/linux-tutorial 

上記のコマンドは、ページ データを「/home/javatpoint/Documents/」ディレクトリ下の「linux.html」ファイルに保存します。以下の出力を考えてみましょう。

Linux Curl コマンド

上記のコマンドから、ダウンロードされたデータの総量、受信したデータ、平均時間、およびデータに関するその他の統計を確認できます。

ダウンロードしたデータを確認するには、cat コマンドを実行してファイルを開きます。

 cd Documents cat linux.html 

以下の出力スナップを考えてみましょう。

Linux Curl コマンド

Web からファイルをダウンロードする

curl の興味深く魅力的な使い方の 1 つは、Web からファイルをダウンロードできることです。 Web からファイルをダウンロードするには、ダウンロード リンクをコピーし、curl コマンドを使用して貼り付けます。より具体的にするために、他の引数も渡すことができます。たとえば、最新バージョンの ubuntu をダウンロードし、 ダウンロードリンク 公式Webサイトからubuntuのファイルをダウンロードし、次のようにcurlコマンドで貼り付けます。

 curl -o /home/javatpoint/Documents/ubuntu20.04.iso https://ubuntu.com/download/desktop/thank-you?version=20.04&architecture=amd64 

上記のコマンドは、指定されたディレクトリに Ubuntu 20.04 をダウンロードします。適切なファイル拡張子を指定してください。それ以外の場合は、ファイルが別の形式でダウンロードされます。以下の出力を考えてみましょう。

Linux Curl コマンド

上記の出力から、ubuntu.iso ファイルがダウンロードされています。ダウンロード時間、ファイルサイズ、ダウンロード速度、その他の統計情報を確認できます。実行を停止するには、いつでも CTRL+D キーを押します。

中断されたダウンロードを再開する

何らかの理由でダウンロードが中断される可能性があります。 curl コマンドを使用してダウンロードを再開できます。中断されたファイルを再開するには、次のようにcurlコマンドで「-C」オプションを渡します。

 curl -C 

上記のコマンドは、指定された URL のダウンロードを再開します。

複数のファイルをダウンロードする

複数のファイルをダウンロードするには、次のように複数の URL をスペースで区切って指定します。

 curl -O 

上記のコマンドは、両方の URL からそれぞれデータをダウンロードします。

HTTPヘッダーのクエリ

HTTP ヘッダーには追加情報が含まれています。これにより、Web サーバーがこの情報をダウンロードできるようになります。 Web サイトから HTTP ヘッダーをクエリするには、次のように「-I」オプションを指定してコマンドを実行します。

 curl -I www.javatpoint.com 

上記のコマンドにより、次の出力が生成されます。

Linux Curl コマンド