Версия 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
, чтобы просмотреть полный список.
Это не всегда возможно.
Вы можете попытаться выполнить обратный поиск имени по 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-адреса, для которых невозможно выполнить обратный поиск.