如何用Linux命令行管理网络:11个你必须知道的命令

如何用Linux命令行管理网络:11个你必须知道的命令linux

不管你是要下载文件、诊断网络问题、管理网络接口,仍是查看网络的统计数据,都有终端命令能够来完成。这篇文章收集了久经考验靠谱的命令,也收集了几个比较新的命令。git

多数命令均可以在图形桌面执行,即便是没什么终端使用经验的Linux用户也会经常执行命令来使用ping或是其它的网络诊断工具。github

curl & wget

使用curlwget命令,不用离开终端就能够下载文件。如你用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

ifdownifup命令和运行ifconfig upifconfig 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.com/oldratlee/t…

我的微信公众号:

我的github:

github.com/jiankunking

我的博客:

jiankunking.com

相关文章
相关标签/搜索