Para os nomes de todas as interfaces de rede definidas, basta olhar o conteúdo do diretório /sys/class/net
.
Para o resto, depende do que você entende por "Linux OS". Se você está se referindo às versões atuais de desktop do Ubuntu, então o utilitário de linha de comando nmcli
parece fornecer muitas das funcionalidades que você está procurando, por exemplo.
$ nmcli --terse --fields FREQ,RATE,SIGNAL dev wifi list bssid XX:XX:XX:XX:XX:XX
5220 MHz:54 MB/s:70
$ nmcli --terse --fields IP4 dev list iface wlan0
IP4.ADDRESS[1]:ip = 192.168.1.16/24, gw = 192.168.1.1
IP4.DNS[1]:192.168.1.1
Se isso não fornecer o controle preciso necessário, você poderá fazer o seu próprio interface com o DBUS usando as ferramentas de linha de comando dbus-send
e / ou dbus-monitor
ou as APIs DBUS da C ou python - a documentação é um pouco magro, mas há um ou dois tutoriais úteis, por exemplo, Tutorial Dbus - Diversão com o Network Manager