如何用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:
我的博客: