Как устройства добавляют записи DNS в локальной сети?

Сначала я думаю, что это откроет каждый файл и закроет его перед тем, как открыть второй файл для поиска слова? Это эффективно, если нет более эффективного способа?

Да, grep откроет и будет искать каждый файл по очереди. В большинстве настроек это наиболее эффективный способ. Если regexp является чрезвычайно сложным, эта задача твердого I / O связаны, т.е. узкое место в производительности чтения с диска, и ваш процессор не будет облагаться налогом.

В некоторых настройках ввод/вывод может быть распараллелен; например, если у вас есть конфигурация RAID-1 или RAID-0, то два (или более) компонента в массиве RAID могут считываться параллельно, что позволит сэкономить время. Если у вас есть такая настройка, вы можете вызвать инструмент типа GNU Parallel для вызова двух экземпляров grep (примеры команд см. в руководстве). В большинстве случаев, параллельный вызов двух экземпляров grep будет медленнее, так как головки дисков будут продолжать переключаться между файлами, к которым обращаются эти два экземпляра (при использовании SSD, параллельный вызов двух экземпляров, как правило, не приведет к значительному замедлению, но и не будет быстрее).

Если в командной строке передается более одного файла, grep выдает имя файла перед каждым совпадением в формате

path/to/file:line containing a match

Если вы используете шаблон подстановки или другие формы генерации имен файлов и хотите, чтобы имя файла отображалось даже в том случае, когда есть один совпадающий файл, скажите grep, чтобы он также искал пустое нулевое устройство .

grep REGEX /dev/null *.txt

(grep -H REGEX *.txt похоже, но использование /dev/null имеет дополнительное преимущество в том, что он работает бесперебойно, даже если список совпадающих файлов пуст, в то время как grep -H REGEX читает со стандартного входа)

.

1
27.12.2014, 00:27
2 ответа

Вы можете легко проверить, является ли это многоадресный DNS (bonjour), просмотрев список известных хостов.

$ avahi-browse -a
0
27.01.2020, 23:51

Клиенты DHCP обычно отправляют свое имя на DHCP-сервере. Имя обычно записано в файле аренды и может быть добавлено к локальному DNS-серверу в качестве записи под домен по умолчанию. (Некоторые маршрутизаторы будут использовать .Local , хотя .localnet будет более уместным.) Если у вас есть зарегистрированный домен, рассмотрите возможность установки домена на маршрутизаторе к субдомене, такое как lan.example.com .

Домен .local обычно используется для автоматического открытия. Их несколько имен, используемые для этой услуги, такой как MDNS , Bonjour , а Avahi . Современные резользеры часто будут возвращать имена от этой услуги.

В зависимости от операционной системы вы можете проверить записи DNS, используя Nslookup или Cost . Это вернет только значение, только если имя возвращается из DNS. Библиотека Resolver использует несколько источников, включая DNS, / etc / hosts , и, необязательно, другие, включая MDNS, NIS, LDAP и многое другое. На Linux они должны быть перечислены в файле etc / nsswitch.conf .

Вы можете проверить для процессов AVAHI-DAAHI с помощью команды PS -EF | grep [a] Вахи . Команда AVAHI-RESOLVE --NAME может использоваться для поиска полностью квалифицированных имен, использующих сервисы Auto-Discovery.

1
27.01.2020, 23:51

Теги

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