如何用Linux命令行管理網絡:11個你必須知道的命令linux
不管你是要下載文件、診斷網絡問題、管理網絡接口,仍是查看網絡的統計數據,都有終端命令能夠來完成。這篇文章收集了久經考驗靠譜的命令,也收集了幾個比較新的命令。git
多數命令均可以在圖形桌面執行,即便是沒什麼終端使用經驗的Linux
用戶也會經常執行命令來使用ping
或是其它的網絡診斷工具。github
curl
& wget
使用curl
或wget
命令,不用離開終端就能夠下載文件。如你用curl
,鍵入curl -O
後面跟一個文件路徑。wget
則不須要任何選項。下載的文件在當前目錄。web
curl -O website.com/file
wget website.com/file
複製代碼
ping
ping
發送ECHO_REQUEST
包到你指定的地址。這樣你能夠很方便確認你的電腦和Internet
或是一個指定的IP
地址是否是通的。使用-c
開關,能夠指定發送ECHO_REQUEST
包的個數。bash
ping -c 4 google.com
複製代碼
tracepath
& traceroute
tracepath
命令和traceroute
命令功能相似,但不須要root
權限。而且Ubuntu
預裝了這個命令,traceroute
命令沒有預裝的。tracepath
追蹤出到指定的目的地址的網絡路徑,並給出在路徑上的每一跳(hop
)。若是你的網絡有問題或是慢了,tracepath
能夠查出網絡在哪裏斷了或是慢了。服務器
tracepath example.com
複製代碼
mtr
mtr
命令把ping
命令和tracepath
命令合成了一個。mtr
會持續發包,並顯示每一跳ping所用的時間。也會顯示過程當中的任何問題,在下面的示例中,能夠看到在第6跳丟了超過20%的包。微信
mtr howtogeek.com
複製代碼
鍵入q
或是CTRL + C
來退出命令。網絡
host
host
命令用來作DNS
查詢。若是命令參數是域名,命令會輸出關聯的IP
;若是命令參數是IP
,命令則輸出關聯的域名。curl
host howtogeek.com
host 208.43.115.82
複製代碼
whois
whois
命令輸出指定站點的whois
記錄,能夠查看到更多如誰註冊和持有這個站點這樣的信息。socket
whois example.com
複製代碼
ifplugstatus
ifplugstatus
命令能夠告訴你是否有網線插到在網絡接口上。這個命令Ubuntu
沒有預裝,經過下面的命令來安裝:
sudo apt-get install ifplugd
複製代碼
這個命令能夠查看全部網絡接口的狀態,或是指定網絡接口的狀態:
ifplugstatus
ifplugstatus eth0
複製代碼
命令輸出『Link beat detected
』(檢測到鏈接心跳)表示有網線插着,如沒有則會輸出『unplugged
』(未插入)。
ifconfig
ifconfig
用於輸出網絡接口配置、調優和Debug的各類選項。能夠快捷地查看IP
地址和其它網絡接口的信息。鍵入ifconfig
查看全部啓用的網絡接口的狀態,包括它們的名字。能夠指定網絡接口的名字來只顯示這一個接口的信息。
ifconfig
ifconfig eth0
複製代碼
ifdown
& ifup
ifdown
和ifup
命令和運行ifconfig up
,ifconfig down
的功能同樣。給定網絡接口的名字能夠只禁用或啓用這一個接口。須要root
權限,因此在Ubuntu
上須要使用sudo
來運行。
sudo ifdown eth0
sudo ifup eth0
複製代碼
在Linux
桌面系統上運行這2個命令,極可能會輸出出錯信息。Linux
桌面經過使用網絡管理器(NetworkManager
)來管理你的網絡接口。不過在沒有安裝網絡管理器的服務器版上,這2個命令仍然可用。
若是確實要在命令行上配置網絡管理器,用nmcli
命令。
dhclient
dhclient
命令能夠釋放你的電腦的IP
地址並從DHCP
服務器上得到一個新的。須要root
權限,因此在Ubuntu
上須要sudo
。無選項運行命令獲取新IP
,或指定-r
開關來釋放當前的IP
地址。
sudo dhclient -r
sudo dhclient
複製代碼
netstat
netstat
命令能夠顯示網絡接口的不少統計信息,包括打開的socket
和路由表。無選項運行命令顯示打開的socket
。
這條命令還有不少功能。好比,netstat -p
命令能夠顯示打開的socket
對應的程序。
netstat -s
則顯示全部端口的詳細統計信息。
原文
我的微信公衆號:
我的github:
我的博客: