Domanda: Quando eseguo il comando ping dalla riga di comando, continua a inviare i pacchetti fino a quando non premo CTRL-C per terminare l'output del comando ping. Come posso eseguire il comando ping solo per N numero di pacchetti e terminare automaticamente l'output?
Risposta: Utilizzare l'opzione ping -c per specificare il numero di pacchetti. Dopo aver inviato un numero N di pacchetti, il comando ping terminerà automaticamente come spiegato di seguito.
Comando Ping – Modalità Interattiva
Nell'esempio seguente, devi premere CTRL-C per terminare l'output del comando 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
- Nota:ping 0:esegue il ping dell'host locale.
Comando Ping – Modalità non interattiva (Specificare il numero di pacchetti da inviare)
Nell'esempio seguente, il comando ping invierà solo 2 pacchetti e non è necessario premere CTRL-C per terminare l'output.
$ 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
Opzione comando ping -c usi
Reindirizza l'output del comando ping su un file
$ 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
Reindirizzamento a un altro processo. Questo esempio mostra solo il riepilogo dell'output del ping (ultime due righe).
$ 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