
在網路管理和計算機診斷工具中,ping 命令是最基本、使用最廣泛的工具之一。ping 命令是幾乎每個作業系統都有的命令列工具,是網路工程師、系統管理員甚至好奇的技術愛好者的重要診斷工具。
ping 命令向指定的 IP 地址或主機傳送小資料包,並期待收到回覆。通過這種方式,它可以幫助使用者確定網路裝置是否可以訪問,並提供有關網路響應時間和可靠性的寶貴資訊。無論你是在排查連線問題、監控網路效能,還是剛剛開始網路管理之旅,ping 命令都是你必須掌握的。
ping 命令的一般語法:
ping [IP-ADDRESS]
1. 指定資料包數量
ping -c [number] [IP-Address]
使用 -c 選項可讓 ping 命令在傳送一定數量的資料包後自動停止。
示例:
使用 -c 5 選項執行 ping 命令向 IP 地址 127.0.0.1 傳送 5 個資料包時,輸出結果類似於下面的內容:
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.045 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.058 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.056 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.059 ms 64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.057 ms --- 127.0.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 0.045/0.055/0.059/0.006 ms
2. 檢查 Localhost 網路
ping localhost
如果在連線遠端計算機或網站時遇到問題,請 ping 本地主機以確保已連線。
示例:
使用 localhost 執行 ping 命令時,基本上就是在 ping 自己的計算機。下面是你可能看到的輸出示例:
PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.033 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.031 ms 64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.031 ms 64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.030 ms --- localhost ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2998ms rtt min/avg/max/mdev = 0.030/0.031/0.033/0.001 ms
3. 只在有限的時間內傳送 ping
ping -i [number] [IP-Address]
-i 選項設定每個資料包傳送前的超時間隔(以秒為單位)。
示例:
命令 ping -i 5 127.0.0.1 將每隔 5 秒向環回地址 127.0.0.1 傳送一次 ICMP Echo Request 資料包。下面是輸出示例:
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.035 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.040 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.038 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.039 ms --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 15005ms rtt min/avg/max/mdev = 0.035/0.038/0.040/0.007 ms
在此示例中,每個請求都在不到一毫秒的時間內得到回覆,沒有丟失任何資料包。輸出結果可能因系統配置和當前系統負載而異。
4. 對目標主機進行泛洪 ping
ping -f [IP-address]
-f 選項將以儘可能快的速度傳送資料包。這會導致網路泛洪,因此常被稱為 “泛洪 ping”。它主要用於壓力測試,應謹慎使用。
由於資料包是以最快速度傳送的,因此可能不會像普通 ping 那樣有詳細的輸出。取而代之的是一連串的點,在傳送和接收資料包時可能會列印出空格。
示例:
典型的輸出結果可能是這樣的:
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. ..........................................................^C --- 127.0.0.1 ping statistics --- 468751 packets transmitted, 468750 received, 0% packet loss, time 330ms rtt min/avg/max/mdev = 0.025/0.035/0.139/0.002 ms, pipe 2, ipg/ewma 0.182/0.037 ms
注意,上面的 ^C 代表按 Ctrl + C 來停止命令。需要注意的是,flood 選項需要 root 許可權,因此如果你不是 root 使用者,可能需要使用 sudo 執行此命令。
5. 更改 ping 資料包大小
ping -s [number] [IP-Address]
使用 -s 選項增加預設資料包大小,可以傳送輕型和重型資料包。
示例:
命令 ping -s 1000 127.0.0.1 向環回地址 127.0.0.1 傳送 ICMP echo 請求,資料包大小為 1000 位元組。下面是輸出結果的示例:
PING 127.0.0.1 (127.0.0.1) 1000(1028) bytes of data. 1008 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.050 ms 1008 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.054 ms 1008 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.050 ms 1008 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.054 ms --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3071ms rtt min/avg/max/mdev = 0.050/0.052/0.054/0.002 ms
6. 只顯示摘要行
ping -q [IP-Address]
-q 選項輸出一行常規 ping 資訊,然後是統計資訊。
示例:
當你在環回地址 127.0.0.1 上執行帶有 -q 標誌的 ping 命令時,它會向網路主機傳送 ICMP ECHO_REQUEST 資料包。使用 -q 標誌後,命令將以 “安靜” 模式執行,僅在結束時顯示彙總統計資訊。輸出結果可能如下:
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. --- 127.0.0.1 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 8999ms rtt min/avg/max/mdev = 0.045/0.057/0.082/0.012 ms
7. 設定接收包的時限
ping -w [seconds] [IP-Address]
該選項會在一定時間後停止接收 ping 輸出。
示例:
當你在環回地址 127.0.0.1 上執行帶有 -w 10 選項的 ping 命令時,它會向該地址傳送 ICMP echo 請求資料包,並等待長達 10 秒的回覆。下面是你可能看到的輸出示例:
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.041 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.040 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.041 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.038 ms ... --- 127.0.0.1 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 8999ms rtt min/avg/max/mdev = 0.038/0.041/0.045/0.002 ms
更多 Linux 命令
下面羅列了最常見的一些 Linux 命令,您可以根據自己的需要查閱對應命令的詳細解析:
| 目錄操作 | rmdir · cd · pwd · exa · ls |
| 檔案操作 | cat · cp · dd · less · touch · ln · rename · more · head |
| 檔案系統操作 | chown · mkfs · locate |
| 網路 | ping · curl · wget · iptables · mtr |
| 搜尋和文字處理 | find · grep · sed · whatis · ripgrep · fd · tldr |
| 系統資訊和管理 | env · history · top · who · htop · glances · lsof |
| 使用者和會話管理 | screen · su · sudo · open |
此外,我們還整理 Linux 命令列大全,以幫助大家全面深入地學習 Linux。

評論留言