ip -s link

Pokazuje statystyki interfejsów sieciowych – liczbę pakietów, błędów i odrzuconych ramek.

ip -s link to wariant polecenia ip link z dorzuconym przełącznikiem statystyk. Zamiast samej listy interfejsów (nazwa, stan, MTU, MAC) dostajesz do tego liczniki ruchu warstwy łącza: ile bajtów i pakietów przeszło w obie strony oraz ile po drodze poszło w błędy, zostało odrzuconych albo zgubionych. To pierwsze, po co sięgasz, gdy łącze „działa, ale jakoś dziwnie” – rośnie pakietowa strata, sieć tnie albo karta gubi ramki. Liczniki pochodzą wprost z jądra (struktura rtnl_link_stats64), więc pokazują surową prawdę o interfejsie, a nie to, co myśli aplikacja.

Składnia i najważniejsze opcje

Podstawowa forma to ip -s link [show IFACE]. Najczęściej używane:

  • -s – włącza statystyki (RX/TX: bajty, pakiety, errors, dropped). Można podać raz.
  • -s -s (czyli -s dwa razy) – rozwija szczegółowy rozkład błędów: RX (length, crc, frame, fifo, overrun) i TX (aborted, fifo, window, heartbeat). Bez podwojenia te detale się nie pokażą.
  • show IFACE – ogranicza wynik do jednego interfejsu, np. show eth0.
  • -h – liczby w formacie czytelnym dla człowieka (np. 1.2M zamiast 1234567).
  • -c lub -color – kolorowanie wyniku, łatwiej wyłapać stan UP/DOWN.
  • -br (brief) – skrócony, tabelaryczny widok; przydatny, ale gryzie się z czytelnością statystyk.

Przykłady użycia

  • ip -s link – statystyki dla wszystkich interfejsów naraz. Szybki przegląd, który link „robi ruch”, a który leży.
  • ip -s link show eth0 – tylko karta eth0. Sprawdzasz tu kolumny errors i dropped – jeśli rosną, masz problem fizyczny lub przeciążenie.
  • ip -s -s link show eth0 – pełny rozkład błędów RX/TX. Tu rozpoznasz, czy to crc (zły kabel/duplex), czy overrun (jądro nie nadąża odbierać).
  • ip -s -h link show wlan0 – statystyki Wi-Fi z liczbami w skali ludzkiej zamiast monstrualnych bajtów.
  • watch -n1 'ip -s link show eth0' – odświeżanie co sekundę. Widzisz na żywo, czy licznik błędów tyka pod obciążeniem.

Częste błędy i pułapki

Liczniki są kumulatywne od startu interfejsu, nie chwilowe. Pojedynczy odczyt mówiący „200 errors” sam w sobie nic nie znaczy – liczy się tempo przyrostu, więc obserwuj zmianę w czasie (stąd watch). Druga pułapka: jeden -s nie pokaże rozbicia na typy błędów – na starych instrukcjach z internetu ludzie dziwią się, że „nie ma crc”, a po prostu trzeba dać -s -s. Pamiętaj też, że ip to iproute2 (Linux); na macOS czy BSD go nie ma – tam szukasz netstat -i albo ifconfig. Samo polecenie jest tylko do odczytu, więc nic nie zepsujesz – ale nie myl go z ip link set, które realnie zmienia stan interfejsu.

Powiązane komendy: ip addr, ip route, ethtool, netstat -i, ss, ifconfig.