Linux下必须知道的11个网络命令

无论你是要下载文件、诊断网络问题、管理网络接口,还是查看网络的统计数据,都有终端命令可以来完成

这篇文章收集了久经考验靠谱的命令,也收集了几个比较新的命令。多数命令都可以在图形桌面执行,即使是没什么终端使用经验的Linux用户也会常常执行命令来使用ping或是其它的网络诊断工具。

1.curl & wget

使用curl或wget命令,不用离开终端就可以下载文件。如你用curl,键入curl -O后面跟一个文件路径。wget则不需要任何选项。下载的文件在当前目录。

复制代码

代码如下:

curl -O website.com/file wget website.com/file

curl

2.ping

ping发送ECHO_REQUEST包到你指定的地址。这样你可以很方便确认你的电脑和Internet或是一个指定的IP地址是不是通的。使用 -c 开关,可以指定发送ECHO_REQUEST包的个数。

复制代码

代码如下:

ping -c 4 google.com

ping

3.tracepath & traceroute

tracepath命令和traceroute命令功能类似,但不需要root权限。并且Ubuntu预装了这个命令,traceroute命令没有预装的。tracepath追踪出到指定的目的地址的网络路径,并给出在路径上的每一跳(hop)。如果你的网络有问题或是慢了,tracepath可以查出网络在哪里断了或是慢了。

复制代码

代码如下:

tracepath example.com

tracepath 

4.mtr

mtr命令把ping命令和tracepath命令合成了一个。mtr会持续发包,并显示每一跳ping所用的时间。也会显示过程中的任何问题,在下面的示例中,可以看到在第6跳丢了超过20%的包。

复制代码

代码如下:

mtr howtogeek.com

mtr

键入q或是CTRL + C来退出命令。

5.host

host命令用来做DNS查询。如果命令参数是域名,命令会输出关联的IP;如果命令参数是IP,命令则输出关联的域名。

复制代码

代码如下:

host howtogeek.com host 208.43.115.82

host

6.whois

whois命令输出指定站点的whois记录,可以查看到更多如谁注册和持有这个站点这样的信息。

复制代码

代码如下:

whois example.com

whois

7.ifplugstatus

ifplugstatus命令可以告诉你是否有网线插到在网络接口上。这个命令Ubuntu没有预装,通过下面的命令来安装:

sudo apt-get install ifplugd

这个命令可以查看所有网络接口的状态,或是指定网络接口的状态:

复制代码

代码如下:

ifplugstatus ifplugstatus eth0

ifplugstatus

命令输出『Link beat detected』(检测到连接心跳)表示有网线插着,如没有则会输出『unplugged』(未插入)。

8.ifconfig

ifconfig用于输出网络接口配置、调优和debug的各种选项。可以快捷地查看IP地址和其它网络接口的信息。键入ifconfig查看所有启用的网络接口的状态,包括它们的名字。可以指定网络接口的名字来只显示这一个接口的信息。

复制代码

代码如下:

ifconfig ifconfig eth0

ifconfig

7.ifdown & ifup

ifdown和ifup命令和运行ifconfig up,ifconfig down的功能一样。给定网络接口的名字可以只禁用或启用这一个接口。需要root权限,所以在Ubuntu上需要使用sudo来运行。

复制代码

代码如下:

sudo ifdown eth0 sudo ifup eth0

ifdown-ifup

在Linux桌面系统上运行这2个命令,很可能会输出出错信息。Linux桌面通过使用网络管理器(NetworkManager)来管理你的网络接口。不过在没有安装网络管理器的服务器版上,这2个命令仍然可用。

如果确实要在命令行上配置网络管理器,用nmcli命令。

10.dhclient

dhclient命令可以释放你的电脑的IP地址并从DHCP服务器上获得一个新的。需要root权限,所以在Ubuntu上需要sudo。无选项运行命令获取新IP,或指定 -r 开关来释放当前的IP地址。

复制代码

代码如下:

sudo dhclient -r sudo dhclient

dhclient

11.netstat

netstat命令可以显示网络接口的很多统计信息,包括打开的socket和路由表。无选项运行命令显示打开的socket。

netstat

这条命令还有很多功能。比如,netstat -p命令可以显示打开的socket对应的程序。

netstat-p

netstat -s则显示所有端口的详细统计信息。

netstat-s

huan

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: