На этот вопрос уже есть ответ здесь:
Как я могу увидеть свой IP-адрес в Ubuntu? Я использовал
ifconfig eth0
, но он отображает только HWaddr
, и я не вижу, где находится IP-адрес.
Лучше всего использовать ifconfig
без интерфейса, так как это может быть не eth0
.
ifconfig | less
позволит вам перейти на страницу вниз, чтобы увидеть, какому интерфейсу назначен IP-адрес.
Вы также можете обмануть, используя маршрут, чтобы увидеть, какие интерфейсы используются.
$ route
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.138.1 0.0.0.0 UG 0 0 0 eth2
, а затем используйте ifconfig
на перечисленных интерфейсах, например,
ifconfig eth2
Команда Use: ip addr show
и ищут Ваш интерфейс, например, wlan0 для WiFi и eth0 для сетевой платы.
Следующая команда выведет все ваши текущие IP-адреса, разделенные пробелами:
hostname -I
Если ifconfig
не показывает IP, интерфейс не имеет того присвоенным. Присвойте один с sudo ifconfig 1.2.3.4 netmask 255.255.255.0
или используйте dhclient -d [iface]
, если у Вас есть сервер DHCP в Вашей сети (если Ваша неопределенная попытка это, она не причиняет боль и легче, если это работает).
Если Вы подключены к сети через беспроводной NIC, ifconfig eth0
бесполезно, потому что она покажет вывод ifconfig
для первого NIC Ethernet (если таковые имеются):
ifconfig wlan0
Или wlan1
, wlan2
, wlan3
, [...] в зависимости от того, как используемый NIC был отображен (в случае, если у Вас есть несколько беспроводной NICs).
Для отображения только IP-адреса:
ifconfig wlan0 | sed -n '2s/[^:]*:\([^ ]*\).*/\1/p'
Лично я использую nmcli dev show
(15.04) или nmcli dev list
(14.04 и ранее). Это перечисляет полную информацию о Ваших интерфейсах, dns, самых близких точках доступа, и конечно Вашем адресе IPv4. Можно использовать awk
для обрезки информации, как желаемый.
После ввода
ifconfig eth0
Ваш IP должен быть перечислен под
inet addr
Что-то как:
inet addr:10.0.2.15 Bcast: 10.0.2.255 Mask:255.255.255.0
В этом примере, 10.0.2.15 был бы Ваш IP-адрес.
Показать все ваши адреса IPv4:
LANG=C ifconfig | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'
Или для IPv6:
LANG=C ifconfig | awk '/inet6 addr/ {print $3}'
Или другую версию:
ip addr show | awk '/inet/ {print $2}'
<час> Если вы только видят что-то вроде этого:
127.0.0.1/8
::1/128
, чем у вас нет IP-адреса. (127.0.0.1 не считается, так как это ваша система, называемая localhost.)
Пример вывода
% LANG=C ifconfig | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'
192.168.2.131
127.0.0.1
% LANG=C ifconfig | awk '/inet6 addr/ {print $3}'
fe80::92e2:baff:fe21:c902/64
::1/128
% ip addr show | awk '/inet/ {print $2}'
127.0.0.1/8
::1/128
192.168.2.131/24
fe80::92e2:baff:fe21:c902/64