如何用Linux命令行管理網(wǎng)絡(luò):11個(gè)你必須知道的命令
無論你是要下載文件、診斷網(wǎng)絡(luò)問題、管理網(wǎng)絡(luò)接口,還是查看網(wǎng)絡(luò)的統(tǒng)計(jì)數(shù)據(jù),都有終端命令可以來完成。這篇文章收集了久經(jīng)考驗(yàn)靠譜的命令,也收集了幾個(gè)比較新的命令。
多數(shù)命令都可以在圖形桌面執(zhí)行,即使是沒什么終端使用經(jīng)驗(yàn)的Linux用戶也會常常執(zhí)行命令來使用ping或是其它的網(wǎng)絡(luò)診斷工具。
curl & wget
使用curl或wget命令,不用離開終端就可以下載文件。如你用curl,鍵入curl -O后面跟一個(gè)文件路徑。wget則不需要任何選項(xiàng)。下載的文件在當(dāng)前目錄。
- curl -O website.com/file
- wget website.com/file
ping
ping發(fā)送ECHO_REQUEST包到你指定的地址。這樣你可以很方便確認(rèn)你的電腦和Internet或是一個(gè)指定的IP地址是不是通的。使用 -c 開關(guān),可以指定發(fā)送ECHO_REQUEST包的個(gè)數(shù)。
- ping -c 4 google.com
tracepath & traceroute
tracepath命令和traceroute命令功能類似,但不需要root權(quán)限。并且Ubuntu預(yù)裝了這個(gè)命令,traceroute命令沒有預(yù)裝的。tracepath追蹤出到指定的目的地址的網(wǎng)絡(luò)路徑,并給出在路徑上的每一跳(hop)。如果你的網(wǎng)絡(luò)有問題或是慢了,tracepath可以查出網(wǎng)絡(luò)在哪里斷了或是慢了。
- tracepath example.com
mtr
mtr命令把ping命令和tracepath命令合成了一個(gè)。mtr會持續(xù)發(fā)包,并顯示每一跳ping所用的時(shí)間。也會顯示過程中的任何問題,在下面的示例中,可以看到在第6跳丟了超過20%的包。
- mtr howtogeek.com
鍵入q或是CTRL + C來退出命令。
host
host命令用來做DNS查詢。如果命令參數(shù)是域名,命令會輸出關(guān)聯(lián)的IP;如果命令參數(shù)是IP,命令則輸出關(guān)聯(lián)的域名。
- host howtogeek.com
- host 208.43.115.82
whois
whois命令輸出指定站點(diǎn)的whois記錄,可以查看到更多如誰注冊和持有這個(gè)站點(diǎn)這樣的信息。
- whois example.com
ifplugstatus
ifplugstatus命令可以告訴你是否有網(wǎng)線插到在網(wǎng)絡(luò)接口上。這個(gè)命令Ubuntu沒有預(yù)裝,通過下面的命令來安裝:
- sudo apt-get install ifplugd
這個(gè)命令可以查看所有網(wǎng)絡(luò)接口的狀態(tài),或是指定網(wǎng)絡(luò)接口的狀態(tài):
- ifplugstatus
- ifplugstatus eth0
命令輸出『Link beat detected』(檢測到連接心跳)表示有網(wǎng)線插著,如沒有則會輸出『unplugged』(未插入)。
ifconfig
ifconfig用于輸出網(wǎng)絡(luò)接口配置、調(diào)優(yōu)和debug的各種選項(xiàng)??梢钥旖莸夭榭碔P地址和其它網(wǎng)絡(luò)接口的信息。鍵入ifconfig查看所有啟用的網(wǎng)絡(luò)接口的狀態(tài),包括它們的名字??梢灾付ňW(wǎng)絡(luò)接口的名字來只顯示這一個(gè)接口的信息。
- ifconfig
- ifconfig eth0
ifdown & ifup
ifdown和ifup命令和運(yùn)行ifconfig up,ifconfig down的功能一樣。給定網(wǎng)絡(luò)接口的名字可以只禁用或啟用這一個(gè)接口。需要root權(quán)限,所以在Ubuntu上需要使用sudo來運(yùn)行。
- sudo ifdown eth0
- sudo ifup eth0
在Linux桌面系統(tǒng)上運(yùn)行這2個(gè)命令,很可能會輸出出錯(cuò)信息。Linux桌面通過使用網(wǎng)絡(luò)管理器(NetworkManager)來管理你的網(wǎng)絡(luò)接口。不過在沒有安裝網(wǎng)絡(luò)管理器的服務(wù)器版上,這2個(gè)命令仍然可用。
如果確實(shí)要在命令行上配置網(wǎng)絡(luò)管理器,用nmcli命令。
dhclient
dhclient命令可以釋放你的電腦的IP地址并從DHCP服務(wù)器上獲得一個(gè)新的。需要root權(quán)限,所以在Ubuntu上需要sudo。無選項(xiàng)運(yùn)行命令獲取新IP,或指定 -r 開關(guān)來釋放當(dāng)前的IP地址。
- sudo dhclient -r
- sudo dhclient
netstat
netstat命令可以顯示網(wǎng)絡(luò)接口的很多統(tǒng)計(jì)信息,包括打開的socket和路由表。無選項(xiàng)運(yùn)行命令顯示打開的socket。
這條命令還有很多功能。比如,netstat -p命令可以顯示打開的socket對應(yīng)的程序。
netstat -s則顯示所有端口的詳細(xì)統(tǒng)計(jì)信息。