Есть ли команда Linux, которая визуализирует сконфигурированные сетевые интерфейсы в виде дерева, как это lsblk
делает для блочных устройств?
Вывод такой программы может, например, выглядеть так (подход снизу вверх):
eth0
└─bond0
├─bond0.42
│ └─br42
└─bond0.43
└─br43
eth1
└─bond0
├─bond0.42
│ └─br42
└─bond0.43
└─br43
tap100i0
└─br42
tap100i1
└─br43
tap101i0
└─br42
tap101i1
└─br43
или это (нисходящий подход):
br42
├─bond0.42
│ └─bond0
│ ├─eth0
│ └─eth1
├─tap100i0
└─tap101i0
br43
├─bond0.43
│ └─bond0
│ ├─eth0
│ └─eth1
├─tap100i1
└─tap101i1
Примечание: я не ищу инструмент, который производит этот точный вывод, а скорее спрашиваю, знает ли кто-нибудь команду с похожим результатом.
networking
command-line
jlauinger
источник
источник
ip addr
??ip addr
возвращает плоский список сетевых интерфейсов, а не иерархическое представление дереваОтветы:
У меня есть поиск в существующих утилитах, но я не нашел ни одного. Тем не менее желаемый функционал полезен с моей точки зрения. Поэтому я сделал простой скрипт bash, который анализирует
ip link show
команду и печатает что-то похожее на желаемый результат в вопросе:Я отправил скрипт на github: https://github.com/zabojcampula/show-net-devices-tree
источник