Cygwin понимает точки соединения NTFS?

Понимает ли cygwin (1.7.x) точки соединения Windows NTFS (созданные mklink в Win7/2008 или sysinternals' junction.exe)?

Чем они отличаются от символической ссылки, созданной "ln -s "?

2 ответа

Решение

Да, Cygwin 1.7 понимает точки соединения NTFS, а также символические ссылки NTFS (как представлено в Vista). Они отображаются в виде символических ссылок на программы Cygwin, так что, например, удаление такой ссылки приведет к удалению только ссылки, а не файла, на который указывают.

Причина, по которой Cygwin не использует символические ссылки NTFS при создании символических ссылок Cygwin, заключается в том, что их могут создавать только администраторы с повышенными правами (если не изменен параметр реестра) и что они не имеют всей необходимой семантики POSIX.

Символические ссылки Cygwin - это не что иное, как файл, сообщающий, куда ведет ссылка. Вот что вы найдете, когда посмотрите на содержимое одной из команд Windows:

C:\>type c:\cygwin\bin\emacs
!<symlink> ■/ e t c / a l t e r n a t i v e s / e m a c s
C:\>

AFAIK, точки соединения Windows NTFS - это нечто совершенно другое. Я ожидаю, что, поскольку они сделаны на уровне файловой системы, Cygwin не увидит в них ничего отличного от любого другого файла / каталога.

Сказав это, я также скажу, что я не играл с точками соединения NTFS, так что YMMV.

Другие вопросы по тегам