Есть ли какая-нибудь команда Linux, которую я могу использовать, чтобы показать все сетевые интерфейсы, кроме ifconfig
Я должен установить сетевое соединение при установке Arch Linux (в Virtualbox) и мне нужно знать, какие сетевые интерфейсы я использую. Как я могу сделать это без использования ifconfig
?
4 ответа
ifconfig
инструмент (от net-tools
) осуждается в пользу ip
инструмент, который является частью iproute2
люкс.
Это перечислит интерфейсы и их IP-адреса, если они есть:
ip addr
На сайте Linux.com есть следующая статья о замене команды ifconfig на ip:
Первое, что большинство людей узнают с помощью команды ifconfig, это как узнать, какой IP-адрес был назначен интерфейсу. Обычно это делается с помощью команды ifconfig и без флагов или аргументов. Чтобы сделать то же самое с командой ip, она запускается так:
ip a
Эта команда выведет список всех интерфейсов с соответствующей информацией (рисунок 1 выше).
Допустим, вы хотите видеть только информацию IPv4 (для ясности). Для этого выполните команду:
IP-4
Или, если вы хотите видеть только информацию IPv6:
ip -6 a
Что делать, если вы хотите видеть информацию только об определенном интерфейсе? Вы можете получить информацию о беспроводном соединении с помощью команды:
айпи шоу wlan0
Вы даже можете получить более конкретную информацию с помощью этой команды. Если> вы хотите просматривать только IPv4 на интерфейсе wlan0, введите команду:
ip -4 шоу wlan0
Вы даже можете перечислить только работающий интерфейс, используя:
ip link ls up
Есть еще один вариант: использовать предоставленные ядром каталоги (sysfs).
ls /sys/class/net/
Таким образом, легко написать:
for interface in $(ls /sys/class/net/) ; do
echo $interface
# ...
done
Обратите внимание, что подкаталоги могут предоставлять некоторую информацию об аспектах уровня канала (например, MAC-адрес Ethernet), но не такие вещи, как IP-адрес.
Если кто-то хочет узнать, что можно найти там, вот документация: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
Вы также можете выбрать GUI Network Manager с помощью команды для перечисления доступных интерфейсов, их типа, состояния подключения и общего "имени" подключения.
nmcli dev status
Или вы можете пойти дальше с
nmcli dev show
Который даст результат, аналогичный окну ipconfig /all
команда:
acejavelin @ BlazingIcicle ~ $ nmcli dev show
GENERAL.DEVICE: enp2s0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: F8: 32: E4: BD: 00: 00
GENERAL.MTU: 1500
GENERAL.STATE: 100 (подключено)
ОБЩАЯ СВЯЗЬ: Проводное соединение 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/0
ПРОВОДНЫЕ СВОЙСТВА. КАРЬЕР: на
IP4.ADDRESS [1]: 192.168.1.188/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE [1]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS [1]: 208,67,220,220
IP4.DNS [2]: 208,67,222,222
IP4.DNS [3]: 192.168.1.1
IP6.АДРЕС [1]: fe80:: 36f1: 930b: 48a: ab0e / 64
IP6.GATEWAY:GENERAL.DEVICE: вот
GENERAL.TYPE: петля
GENERAL.HWADDR: 00: 00: 00: 00: 00: 00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (неуправляемый)
ОБЩАЯ СВЯЗЬ: -
GENERAL.CON-PATH: -
IP4.ADDRESS [1]: 127.0.0.1/8
IP4.GATEWAY:
IP6.ADDRESS [1]::: 1/128
IP6.GATEWAY:
acejavelin @ BlazingIcicle ~ $
Это также может быть доработано для конкретного интерфейса
nmcli dev show eth0
или же nmcli dev show wl0
Я также нашел полезным использовать псевдоним ipconfig
на самом деле быть nmcli dev show
на нескольких компьютерах я использую.