Command by command
| Cisco IOS | Linux | What it gives you |
|---|---|---|
show running-config | ip addr show; ip route show; iptables-save | The nearest composite view |
show running-config interface ge0 | ip addr show dev ge0 | One interface |
show running-config | include route | ip route show | Routing only |
show startup-config | no direct equivalent | Depends on the distribution's config files, not a command |
copy running-config startup-config | no direct equivalent | No equivalent — nothing is running-only in the same sense |
What the output looks like
$ ip addr show dev ge0
2: ge0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet 10.0.2.2/24 scope global ge0
$ ip route show
default via 10.0.2.1 dev ge0
10.0.2.0/24 dev ge0 proto kernel scope link src 10.0.2.2
10.0.3.0/24 dev ge1 proto kernel scope link src 10.0.3.1
10.0.4.0/24 via 10.0.3.2 dev ge1 proto bird metric 32
$ iptables-save -t filter
# Generated by iptables-save v1.8.9 (nf_tables) on Mon Sep 14 12:00:00 2026
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 443 -j ACCEPT
COMMIT
# Completed on Mon Sep 14 12:00:00 2026
Why the two differ
IOS treats the device as one configured object with a single text representation, which is why show run exists and why copy run start is meaningful. Linux has no such object. The kernel holds live state that was put there by some combination of boot-time config files, a network manager, DHCP and manual commands, and it does not record which. So there is no authoritative text to print — only the current state, read out of several subsystems.
The trap
The distinction between running and startup config does not exist either, and that catches people out in the opposite direction. Every change made with ip is immediately live and immediately volatile: there is no copy run start to make it stick, and a reboot throws it away, much as an IOS reload discards an unsaved change. Persistence means editing whatever your distribution uses — netplan, NetworkManager, systemd-networkd — which is a completely separate step.
Common questions
Is there a tool that prints everything at once?
Not as a readable configuration. ip addr show, ip route show table all and iptables-save cover most of it. The nearest thing to show tech-support is sos report on Red Hat and Ubuntu systems, which gathers a diagnostic archive rather than printing a config.
Where does the configuration actually live on disk?
It depends entirely on the distribution. Ubuntu server typically uses netplan YAML under /etc/netplan/, desktop systems usually NetworkManager under /etc/NetworkManager/, and others use systemd-networkd under /etc/systemd/network/. Checking which one is active is the first step.
Stop reading, start running
Open the lab, go live, and run iptables -S against real Linux networking in your browser. No install, no signup.