質問: ping コマンドを実行すると コマンド ラインから、CTRL-C を押して ping コマンドの出力を終了するまで、パケットを送信し続けます。 N に対してのみ ping コマンドを実行するにはどうすればよいですか パケットの数と出力を自動的に終了しますか?
答え: ping オプション -c を使用して、パケット数を指定します。 N 個のパケットを送信した後、ping コマンドは以下で説明するように自動的に終了します。
Ping コマンド – インタラクティブ モード
次の例では、CTRL-C を押して ping コマンドの出力を終了する必要があります。
$ ping 0 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.023 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.006 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.004 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.005 ms .... Note: Press CTRL-C to terminate. --- 0 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 0.004/0.008/0.023/0.007 ms
- 注:ping 0 — ローカル ホストに ping を送信します。
Ping コマンド – 非インタラクティブ モード (送信するパケット数を指定)
次の例では、ping コマンドは 2 つのパケットのみを送信し、CTRL-C を押して出力を終了する必要はありません。
$ ping 0 -c 2 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.006 ms --- 0 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.006/0.015/0.024/0.009 ms
Ping コマンド オプション -c の使用法
ping コマンドの出力をファイルにリダイレクトします
$ ping 127.0.0.1 -c 2 > ping-output.txt $ cat ping-output.txt PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.015 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.005 ms --- 127.0.0.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.005/0.010/0.015/0.005 ms
別のプロセスにリダイレクトします。この例では、ping 出力の概要 (最後の 2 行) のみを示しています。
$ ping 127.0.0.1 -c 10 | tail -2 10 packets transmitted, 10 received, 0% packet loss, time 8999ms rtt min/avg/max/mdev = 0.005/0.006/0.014/0.003 ms