神戸学院大学 経営学部 林坂ゼミ

CLI 入門トップページ

« 戻る 次へ »

Bash

ネットワーク関連コマンド

IPアドレスの確認 (ip)

ホストの IP アドレスを確認するには「ip address」コマンドを利用します.なお,このコマンドは Linux のディストリビューションによって異なり,「ip -a」や「ifconfig」が利用されることもあります.また,macOS でも「ifconfig」です.

rinsaka@ubuntu:~/Documents/work$ ip address ⏎
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:af:2e:8c brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.227.131/24 metric 100 brd 192.168.227.255 scope global dynamic ens33
       valid_lft 1459sec preferred_lft 1459sec
    inet6 fe80::20c:29ff:feaf:2e8c/64 scope link
       valid_lft forever preferred_lft forever
rinsaka@ubuntu:~/Documents/work$

目次に戻る

ネットワーク接続の確認 (ping)

ネットワークの接続状態は確認するには「ping」コマンドを利用すると良いでしょう.IPアドレスやドメイン名を指定して実行すると,ネットワークを経由して指定したノードまでパケットが到着してその返答があるかどうかを確認することができます.なお,「-c 4」オプションを指定することで,4回パケットを送信した時点で動作が終了します.このオプションを省略するとパケットを送信し続けます.送信を停止するには Ctrl + C を押します.

rinsaka@ubuntu:~/Documents/work$ ping -c 4 www.google.com ⏎
PING www.google.com (142.250.207.100) 56(84) bytes of data.
64 bytes from kix06s11-in-f4.1e100.net (142.250.207.100): icmp_seq=1 ttl=128 time=32.2 ms
64 bytes from kix06s11-in-f4.1e100.net (142.250.207.100): icmp_seq=2 ttl=128 time=30.2 ms
64 bytes from kix06s11-in-f4.1e100.net (142.250.207.100): icmp_seq=3 ttl=128 time=37.5 ms
64 bytes from kix06s11-in-f4.1e100.net (142.250.207.100): icmp_seq=4 ttl=128 time=29.7 ms

--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 29.704/32.382/37.479/3.085 ms
rinsaka@ubuntu:~/Documents/work$

目次に戻る

Web サーバへの接続 (curl)

curl(カール)は,URL で指定されたリソースに対してデータを送受信するためのコマンドラインツールです.HTTP/HTTPS など様々なプロトコルに対応しており,Python Django で開発した Web API のテストElasticsearch のテストやファイルのダウンロードなどでよく使われます.

例えば,GET リクエストを使って https://rinsaka.com/information-network/test01.html からデータを受信します.

rinsaka@ubuntu:~/Documents/work$ curl -X GET https://rinsaka.com/information-network/test01.html ⏎
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>タイトル</title>
</head>
<body>
  <h1>見出し1</h1>
  <p>
    本文はここに書きます.<br>
    <a href="test02.html">test02.htmlへのリンク</a>
  </p>
  <p>
    <img src="ink.png" alt="インク" width=125 height=125>
  </p>

</body>
</html>
rinsaka@ubuntu:~/Documents/work$

ただし,GET リクエストはデフォルトのリクエストであることから省略可能です.

rinsaka@ubuntu:~/Documents/work$ curl https://rinsaka.com/information-network/test01.html ⏎
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>タイトル</title>
</head>
<body>
  <h1>見出し1</h1>
  <p>
    本文はここに書きます.<br>
    <a href="test02.html">test02.htmlへのリンク</a>
  </p>
  <p>
    <img src="ink.png" alt="インク" width=125 height=125>
  </p>

</body>
</html>
rinsaka@ubuntu:~/Documents/work$

HTTP ヘッダも表示するには -i オプションを付与します.

rinsaka@ubuntu:~/Documents/work$ curl -i https://rinsaka.com/information-network/test01.html ⏎
HTTP/2 200
date: Sat, 06 Dec 2025 02:00:28 GMT
content-type: text/html
content-length: 335
server: nginx/1.25.5
last-modified: Thu, 23 Jul 2020 02:28:34 GMT
etag: "5f18f5d2-14f"
accept-ranges: bytes

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>タイトル</title>
</head>
<body>
  <h1>見出し1</h1>
  <p>
    本文はここに書きます.<br>
    <a href="test02.html">test02.htmlへのリンク</a>
  </p>
  <p>
    <img src="ink.png" alt="インク" width=125 height=125>
  </p>

</body>
</html>
rinsaka@ubuntu:~/Documents/work$

HTTP ヘッダだけを表示したい場合は -I オプションを利用します.

rinsaka@ubuntu:~/Documents/work$ curl -I https://rinsaka.com/information-network/test01.html ⏎
HTTP/2 200
date: Sat, 06 Dec 2025 02:00:35 GMT
content-type: text/html
content-length: 335
server: nginx/1.25.5
last-modified: Thu, 23 Jul 2020 02:28:34 GMT
etag: "5f18f5d2-14f"
accept-ranges: bytes

rinsaka@ubuntu:~/Documents/work$

ファイル (https://rinsaka.com/information-network/ink.png) をダウンロード するには -O オプションを使用します.

rinsaka@ubuntu:~/Documents/work$ curl -O https://rinsaka.com/information-network/ink.png ⏎
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  119k  100  119k    0     0  1131k      0 --:--:-- --:--:-- --:--:-- 1140k
rinsaka@ubuntu:~/Documents/work$

その他,Python Django での API 開発ページでは POST リクエスト,PUT リクエスト,DELETE リクエストの利用方法も説明しています.また,Elasticsearch のページでも各種メソッドを利用しています.さらに,curl 公式サイトのチュートリアルには様々な使い方が掲載されています.

目次に戻る