如何使用Bash获取网络管理器的网络连接列表?

我想从终端获取以太网和无线连接的列表。这些连接在NetworkManager的图形用户界面中列出,并包括连接的SSID等信息。

NetworkManager GUI with connections

下一步是删除不需要的连接。
1个回答

所有的NetworkManager连接都位于:/etc/NetworkManager/system-connections/ 因此,您可以轻松使用ls命令获取它们的列表:
ls /etc/NetworkManager/system-connections/

然后删除您想要的那个。
sudo rm /etc/NetworkManager/system-connections/some-connection

你还可以使用nmcli工具,这是一个更好的主意:
获取连接列表:
nmcli connection

获取有关连接的信息:
nmcli connection show connection-name

你可以将它通过管道传递给grep来查找特定的信息:
nmcli connection show connection-name | grep ipv4.dns

修改连接的方法如下:
nmcli connection modify connection-name config-name new-alue

例子:

nmcli connection modify HomeNetwork ipv4.dns 8.8.8.8

删除连接
nmcli connection delete connection-name

2nmcli con等同于nmcli connection,这使命令更加简洁。 - Matthias Braun
@MatthiasBraun 为了更简洁,nmcli c 也可以使用。我相信这是一种自动补全的形式。 - Joann Morris