如何从命令行重新启动Wi-Fi连接?

有时,由于各种原因,我的Wi-Fi连接不再起作用。 通过网络指示器的图形界面禁用和重新启用Wi-Fi无法解决这些情况下的问题。

如何从命令行完全重新启动我的Wi-Fi连接,而无需重新启动我的机器(这可以解决这些问题)?

nmcli是非常有用的命令行实用程序,用于与网络管理器进行交互。 在Ubuntu 16.04 LTS中使用此命令

 nmcli radio wifi off && sleep 5 && nmcli radio wifi on 

对于15.10之前的版本(即在转换到systemd之前),命令会略有不同:

 nmcli nm wifi off && sleep 5 && nmcli nm wifi on 

关于它的好事 – 这不需要root权限。

重启网络管理器本身也是一个好主意。

对于16.04 LTS:

 sudo systemctl restart NetworkManager 

和14.04 LTS:

 sudo service network-manager restart 

如果我们真的想要,我们甚至可以使用重启你的wifi的脚本自动化它。

 #!/bin/bash # replace wlan0 with your device name # as given by ip addr or ifconfig while true do # keep checking if we have ip address wifi_info=$(ip -4 -o addr show wlan0 ) while [ -n "$wifi_info" ]; do wifi_info=$(ip -4 -o addr show wlan0 ) sleep 0.25 done # We get here only if IP address is lost # which means we're off-line # restart wifi nmcli radio wifi off && sleep 5 && nmcli radio wifi on done 

我正在考虑的两种选择如下,

第一种选择 ,关闭/提升界面

 ifconfig wlan0 down ## assumes your wlan is named wlan0 ifconfig wlan0 up 

第二种方法 ,重启整个网络管理器。 假设您已安装网络管理器。 如果没有,请在终端sudo apt-get install network-manager使用以下cmd进行sudo apt-get install network-manager

 sudo service network-manager restart 

在Ubuntu 15.10和16.04 LTS上,您可以使用systemdfunction:

  systemctl restart NetworkManager.service 

使用ifdown +接口名称禁用网络

ifdown IFACE

使用ifup +接口名称启用它

ifup IFACE

IFACE替换为ifconfig给出的设备名称