Получение имени компьютера с помощью c #

Версия OSX ln не может этого сделать, но, как упоминалось в другом ответе rich , это возможно с версией GNU ln, доступной в homebrew как gln как часть формулы coreutils . man gln перечисляет опцию -d с предупреждением OSX, указанным в ответе rich . Другими словами, он не работает во всех случаях. То, что точно определяет, работает ли оно или нет, похоже, нигде не документировано.

В качестве предварительного условия установите coreutils:

    brew install coreutils

Теперь вы можете сделать:

    sudo gln -d /original_folder /mirror_folder

ВАЖНО: Чтобы удалить жесткую ссылку, которую вы должны использовать , используйте gunlink:

    sudo gunlink /mirror_folder

Использование rm или Finder также удалит исходную папку .

FYI: формула homebrew coreutils предоставляет GNU-совместимые версии общих инструментов unix. Используйте brew list coreutils, чтобы просмотреть полный список.

1
задан Mogsdad 23 July 2015 в 20:22
поделиться

1 ответ

Это не всегда возможно.

Вы можете попытаться выполнить обратный поиск имени по ip-адресу, используя что-то вроде

private string[] GetHostnamesForIpAddress(string ipAddress)
{
   var hostIp= IPAddress.Parse(ipAddress);
   IPHostEntry hostInfo = Dns.GetHostByAddress(hostIp);

   return hostInfo.Aliases;
}

В локальной сети (где ваш клиент локален по отношению к вам, например, в корпоративной сети), это может быть нормально, при условии, что все клиенты имеют обратное сопоставление ip в DNS.

В Интернете вероятность того, что это сработает для большинства клиентов, гораздо ниже. У вас есть только IP-адрес, на который можно ориентироваться, и, как правило, у них не настроено обратное сопоставление DNS. На самом деле, огромное количество машин находится за прокси-серверами и NAT-шлюзами и имеет только частные, немаршрутизируемые IP-адреса, для которых невозможно выполнить обратный поиск.

2
ответ дан 2 September 2019 в 23:07
поделиться
Другие вопросы по тегам:

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