Interface link state shows whether a Linux network interface has carrier and can actually transmit frames, making it the fastest way to separate physical/link problems from higher-layer issues during an outage.
Linux tracks both an administrative state and an operational state for each interface. The administrative state is toggled by configuration (up/down), while the operational state reflects driver readiness and carrier detection, exposed by ip as a state plus flags such as UP and LOWER_UP.
The carrier bit is also available in sysfs at /sys/class/net/<iface>/carrier as a simple 1 or 0, which helps confirm whether the link is physically (or logically) connected. Virtual interfaces such as bridge, bond, vlan, and veth inherit link state from underlying devices or peers, so the physical NIC may still need checking when troubleshooting.
$ ip -br link lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> eth0 UP 02:00:00:00:00:10 <BROADCAST,MULTICAST,UP,LOWER_UP>
UNKNOWN is expected for lo on many systems.
$ ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 02:00:00:00:00:10 brd ff:ff:ff:ff:ff:ff
Flag LOWER_UP indicates carrier; missing LOWER_UP indicates no carrier while admin UP is set.
$ cat /sys/class/net/eth0/carrier 1
Value 1 means carrier is detected; value 0 means no carrier.
$ ip -br addr show dev eth0 eth0 UP 192.0.2.40/24 metric 100 fe80::20/64
No address indicates missing static configuration or DHCP failure.
Related: How to show IP addresses in Linux