Доступ к cygwin символьной ссылке из окон

Я довольно плохо знаком с cygwin. Я создал символьную ссылку следующим образом

$ ln -s /var/www /cygdrive/d/foo

и когда я проверяю D диск через окна, я вижу названный системный файл foo. Есть ли способ сделать foo действовать как папка для Windows вместо системного файла?

11
задан Steven Penny 15 March 2013 в 23:13
поделиться

2 ответа

Не знаю. Cygwin не обновляет ОС, добавляя символические ссылки, скорее, он позволяет вам «подделывать» символические ссылки из оболочки Cygwin. Вы можете настроить оболочку для использования файлов Windows LNK, которые могут делать то, что вы хотите, но ...

Из Документация Cygwin :

Создание ярлыков с помощью cygutils

Другая проблемная область находится между Ссылки в стиле Unix, которые связывают один файл в другой и файлы Microsoft .lnk, которые предоставляют ярлык к файлу. На первый взгляд они кажутся похожими, но, на самом деле довольно разные. От по умолчанию Cygwin не создает символические ссылки как файлы .lnk, но есть возможность сделать это, см. раздел называется «Среда CYGWIN Переменная". Эти файлы .lnk с символическими ссылками совместимы с созданными в Windows .lnk файлы, но они все еще разные. Они не включают большую часть информация, которая доступна в стандартный ярлык Microsoft, например рабочий каталог, значок и т. д. Пакет cygutils включает mkshortcut утилита для создания стандартные файлы Microsoft .lnk.

Но вот в чем проблема. Если Cygwin обрабатывал эти собственные ярлыки, например любая другая символическая ссылка, вы не могли заархивируйте файлы Microsoft .lnk в tar архивировать и хранить всю информацию в них.После распаковки эти ярлыки потеряли бы все дополнительная информация и не было бы отличается от стандартного Cygwin символические ссылки. Поэтому эти два типа ссылки обрабатываются по-разному. К сожалению, это означает, что обычный способ создания и использования Unix символические ссылки не работают с родными Ярлыки Windows.

8
ответ дан 3 December 2019 в 02:29
поделиться

Windows не сможет читать символические ссылки, созданные Cygwin, но вы можете создавать символические ссылки Windows с помощью команд Windows, и Cygwin будет рассматривать их как символические ссылки.

В Vista и 7 это можно сделать с помощью mklink. Это встроенная программа cmd.exe, а не отдельная утилита, поэтому, если вы хотите вызвать ее из оболочки bash, вам нужно выполнить команду cmd / c mklink, и, конечно же, она будет понимать только пути Windows.

Для XP «Инструменты Windows Resource Kit Tools» содержат утилиту linkd, которую можно использовать для создания ссылок на каталоги.

10
ответ дан 3 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

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