Утилита командной строки Linux для разрешения имен хостов с помощью/etc/hosts сначала

Если Вы хотите остальную часть пространства как отдельный диск, то:

  1. Щелкните правой кнопкой по 'My Computer'
  2. Выбор 'Справляется'
  3. Перейдите к 'управлению дисками'
  4. Найдите свободное пространство и щелкните правой кнопкой
  5. Выберите 'новый раздел'

С другой стороны, если Вы хотите слабое пространство как часть Вашего C: диск, щелкните правой кнопкой по существующему C: раздел и выбор 'Расширяются'.

36
задан 20 March 2012 в 01:30
7 ответов

Этого легко добиться с помощью getent :

getent hosts 127.0.0.1

getent будет выполнять поиск любого типа данных, сконфигурированных в nsswitch.conf .

56
ответ дан 28 November 2019 в 19:49

Попробуйте следующее:

if [ `grep -c "hostname" /etc/hosts` -ge 1 ]; then
    ip=`awk '/hostname/ { print $1 }' /etc/hosts`
else
    ip=`host hostname | awk '/hostname has address/ { print $4 }'`
fi
1
ответ дан 28 November 2019 в 19:49

Один из инструментов, который может работать, - это getent . Таким образом, вы можете использовать getent hosts www.google.com или getent hosts localhost . Он будет извлекать записи из баз данных, как указано в вашей конфигурации коммутатора службы имен /etc/nsswitch.conf .

26
ответ дан 28 November 2019 в 19:49

Вы можете использовать оболочку gethostbyname () (устаревшую), например:

python -c 'import socket;print socket.gethostbyname("www.google.com")'

, или оболочку getaddrinfo (), например:

python -c 'import socket;print socket.getaddrinfo("www.google.com","http")[0][4][0]'

Обратите внимание, что getaddrinfo вернет все экземпляры в виде списка. Последняя часть команды выбирает только первый кортеж. Это также может возвращать адреса IPv6.

8
ответ дан 28 November 2019 в 19:49

resolveip сделает это.

Как ни странно, это часть пакетов mysql-server в RHEL и Ubuntu.

6
ответ дан 28 November 2019 в 19:49

Вы можете использовать [ваш любимый язык здесь], чтобы написать сценарий, который вызывает getnameinfo . Именно так должны поступать двоичные файлы (например, ping), чтобы вы могли быть уверены, что получите такое же лечение.

6
ответ дан 28 November 2019 в 19:49

"gethostbyname" версия командной строки :

#!/usr/bin/perl
use Socket;

$host = shift @ARGV;
die("usage: gethostbyname hostname\n") unless(defined($host));

$packed_ip = gethostbyname($host);

if (defined $packed_ip) {
    $ip_address = inet_ntoa($packed_ip);
    print "$ip_address\n";
    exit 0
} else {
    warn "$host not found\n";
    exit 1
}
3
ответ дан 28 November 2019 в 19:49

Теги

Похожие вопросы