nmcli to tekstowy klient NetworkManagera — usługi, która na większości desktopowych i serwerowych dystrybucji Linuksa zarządza całą siecią. Zamiast klikać w ikonkę Wi-Fi albo grzebać ręcznie w plikach konfiguracyjnych, jednym poleceniem podłączysz się do sieci bezprzewodowej, ustawisz statyczne IP, włączysz lub wyłączysz radio i sprawdzisz stan interfejsów. Działa też świetnie w skryptach i przez SSH, bo nie potrzebuje środowiska graficznego — i właśnie dlatego pokochali go adminzy.
Składnia i najważniejsze opcje
Podstawowa konstrukcja to obiekt, na którym działasz, plus polecenie: nmcli [OPCJE] OBIEKT POLECENIE, gdzie obiekt to najczęściej device, connection, radio albo general.
device(skrótdev) — pokazuje i zarządza fizycznymi interfejsami sieciowymi.connection(skrótcon) — operuje na zapisanych profilach połączeń:show,up,down,add,modify,delete.radio— włącza i wyłącza radio Wi-Fi oraz WWAN.general status— szybki przegląd ogólnego stanu NetworkManagera.-t, --terse— surowy, maszynowy output bez ozdobników, idealny do skryptów.-f, --fields— wybiera, które kolumny wypisać (np.-f IP4.ADDRESS).-g, --get-values— skrót łączący tryb tabularny,--tersei--fields; zwraca czyste wartości po jednej w wierszu.-p, --pretty— czytelny, sformatowany output dla człowieka.
Przykłady użycia
nmcli device wifi list— skanuje i wypisuje dostępne sieci Wi-Fi razem z siłą sygnału i zabezpieczeniem.nmcli device wifi connect "MojeWiFi" password "tajnehaslo"— łączy się z siecią i od razu zapisuje profil, więc następnym razem zestawi połączenie automatycznie.nmcli connection show— pokazuje wszystkie zapisane profile; dodaj--active, żeby zobaczyć tylko te aktualnie aktywne.nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.1.50/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" ipv4.method manual— przestawia profil na statyczne IP; zmiana zadziała ponmcli connection up "Wired connection 1".nmcli radio wifi off— wyłącza radio Wi-Fi, czyli programowy odpowiednik przełącznika samolotowego dla łączności bezprzewodowej.
Częste błędy i pułapki
Najczęstsza pomyłka to modyfikacja profilu bez ponownego podniesienia połączenia — nmcli connection modify zapisuje zmiany, ale stosuje je dopiero connection up albo device reapply. Druga pułapka: hasło Wi-Fi podane w wierszu poleceń ląduje w historii powłoki, więc na współdzielonych maszynach lepiej użyć --ask i wpisać je interaktywnie. Pamiętaj też, że nmcli nadpisuje ręczne edycje plików w /etc/network/interfaces lub netplan tylko wtedy, gdy dany interfejs jest faktycznie zarządzany przez NetworkManagera — na czystych serwerach Ubuntu domyślnie rządzi systemd-networkd i nmcli nic tam nie zobaczy. I drobiazg, który potrafi zmylić: device to sprzęt „tu i teraz”, a connection to zapisana konfiguracja — to nie to samo.
Powiązane komendy: ip, nmtui, iw, systemctl, resolvectl.