如何用Linux命令行管理網絡:11個你必須知道的命令
如何用Linux
命令行管理網絡:11個你必須知道的命令
無論你是要下載文件、診斷網絡問題、管理網絡接口,還是查看網絡的統計數據,都有終端命令可以來完成。這篇文章收集了久經考驗靠譜的命令,也收集了幾個比較新的命令。
多數命令都可以在圖形桌面執行,即使是沒什么終端使用經驗的Linux
用戶也會常常執行命令來使用ping
或是其它的網絡診斷工具。
curl
& wget
使用curl
或wget
命令,不用離開終端就可以下載文件。如你用curl
,鍵入curl -O
后面跟一個文件路徑。wget
則不需要任何選項。下載的文件在當前目錄。
curl -O website.com/file
wget website.com/file
ping
ping
發送ECHO_REQUEST
包到你指定的地址。這樣你可以很方便確認你的電腦和Internet
或是一個指定的IP
地址是不是通的。使用-c
開關,可以指定發送ECHO_REQUEST
包的個數。
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
,命令則輸出關聯的域名。
host howtogeek.com
host 208.43.115.82
whois
whois
命令輸出指定站點的whois
記錄,可以查看到更多如誰注冊和持有這個站點這樣的信息。
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
則顯示所有端口的詳細統計信息。
https://github.com/quickhack/translations