在 Fedora 上(至少),与 NetworkManager 交互的首选方式是通过 DBus。
虽然无线工具等可以工作——即使是直接的内核调用,如果你必须——但有几个问题:
您可以为您提到的所有任务、WiFi 以及任意其他类型的网络接口发送和接收 DBus 消息。API在此处发布,适用于 0.8 版。
他们的维基应该真的很有帮助。
我知道 Fedora 和 Ubuntu 默认都使用 NetworkManager;我相信许多其他系统也这样做,但没有详尽的清单。
当然,如果您使用的是嵌入式系统、自定义发行版或其他东西,那么您的里程可能会有所不同。