Можно ли связать два файла или папки, не имея другого расширения под Windows?
Я ищу функциональность, эквивалентную программным и жестким ссылкам в Unix.
Можно ли связать два файла или папки, не имея другого расширения под Windows?
Я ищу функциональность, эквивалентную программным и жестким ссылкам в Unix.
Обратите внимание, что единственное печальное отличие состоит в том, что вам нужны права администратора для создания символических ссылок. IE, вам нужно повышенное приглашение. (Обходной путь - SeCreateSymbolicLinkPrivilege, может быть предоставлен обычным пользователям через secpol.msc
.)
Примечание в терминологии: ярлыки Windows не называются "символическими ссылками"; это ссылки оболочки, так как они представляют собой просто файлы, которые оболочка Windows Explorer обрабатывает специально.
Windows Vista и более поздние версии поддерживают символические ссылки в стиле Unix в файловых системах NTFS.
Помните, что они также следуют тому же разрешению пути - относительные ссылки создаются относительно местоположения ссылки, а не к текущему каталогу. Люди часто об этом забывают. Они также могут быть реализованы с использованием абсолютного пути; Например, c:\windows\system32 вместо \system32 (который идет в каталог system32, связанный с местоположением ссылки).
Симлинки реализованы с использованием точек повторной обработки и, как правило, имеют то же поведение, что и симлинки Unix.
Для файлов вы можете выполнить:
mklink linkname targetpath
Для каталогов вы можете выполнить:
mklink /d linkname targetpath
Все версии Windows NT поддерживают жесткие ссылки в стиле Unix в файловых системах NTFS. Использование mklink в Vista и выше:
mklink /h linkname targetpath
Для Windows 2000 и XP используйте fsutil
.
fsutil hardlink create linkname targetpath
Они также работают так же, как жесткие ссылки Unix - несколько записей таблицы файлов указывают на один и тот же индекс.
Windows 2000 и более поздние версии поддерживают соединения каталогов в файловых системах NTFS. Они отличаются от символических ссылок тем, что они всегда абсолютны и указывают только на каталоги, а не на файлы.
mklink /j linkname targetpath
В версиях, где нет mklink
, загрузите junction
с Sysinternals:
junction linkname targetpath
Соединения реализуются с использованием точек повторной обработки.
Для полноты, в Windows 2000 и более поздних версиях точки повторной обработки также могут указывать на тома, что приводит к постоянному монтированию диска в стиле Unix:
mountvol mountpoint \\?\Volume{volumeguid}
Идентификаторы тома перечислены по mountvol
; они статичны, но только внутри одной машины.
Да, вы можете использовать расширение оболочки Link Shell Extension, которое упрощает создание ссылок, которые были описаны выше. Вы можете найти загрузки в нижней части страницы.
Файловая система NTFS, реализованная в NT4, Windows 2000, Windows XP, Windows XP64 и Windows7, поддерживает функцию, известную как жесткие ссылки (называемые здесь жесткими ссылками). Жесткие ссылки дают возможность хранить одну копию файла, пока он не появится в нескольких папках (каталогах). Они могут быть созданы с помощью команды POSIX ln, включенной в Windows Resource Kit, утилиты команды fsutil, включенной в Windows XP, или моей утилиты командной строки ln.exe .
Расширение позволяет пользователю выбрать один или несколько файлов или папок, а затем с помощью мыши завершить создание необходимых ссылок - жестких ссылок, переходов или символических ссылок или, в случае папок, создать клоны, состоящие из жестких или символических ссылок. LSE поддерживается во всех версиях Windows, которые поддерживают NTFS версии 5.0 или новее, включая Windows XP64 и Windows7. Жесткие ссылки, соединения и символические ссылки НЕ поддерживаются в файловых системах FAT, и процесс клонирования и Smart Copy не поддерживается в файловых системах FAT.
Источник может быть просто выбран с помощью меню правой кнопки мыши.
И в зависимости от того, что вы выбрали, вы щелкаете правой кнопкой мыши по папке назначения и получаете меню с опциями.
Это позволяет очень легко создавать ссылки. Для подробного руководства прочитайте документацию LSE.
Загрузки можно найти внизу их страницы.
Соответствующие URL-адреса MSDN:
В этом ответе я попытаюсь обрисовать, какие существуют различные типы ссылок в управлении каталогами, а также почему они полезны и когда их можно было использовать. При попытке создать определенную организацию на томах файлов, знание различных типов, а также их создание является ценным знанием.
Для получения информации о том , как определенная связь может быть сделана, обратитесь к grawity «s ответа.
Ссылка - это связь между двумя объектами; в контексте управления каталогами ссылка может рассматриваться как связь между следующими двумя объектами:
Эта таблица отслеживает файлы и папки, которые находятся в определенной папке.
Таблица каталогов - это специальный тип файла, который представляет каталог (также известный как папка). Каждый файл или каталог, хранящийся в нем, представлен 32-байтовой записью в таблице. Каждая запись записывает имя, расширение, атрибуты (архив, каталог, скрытый, доступный только для чтения, система и том), дату и время последней модификации, адрес первого кластера данных файла / каталога и, наконец, размер файл / каталог.
Более конкретно, первый кластер из файла или каталога.
Кластер - это наименьший логический объем дискового пространства, который можно выделить для хранения файла.
Особенность этих отношений в том, что они позволяют иметь только один кластер данных, но множество ссылок на этот кластер данных, что позволяет нам показывать данные как присутствующие в нескольких местах. Тем не менее, есть несколько способов сделать это, и каждый метод имеет свои собственные эффекты.
Чтобы увидеть, откуда это корни, давайте вернемся в прошлое ...
Хотя это может показаться не знакомым, мы все знаем это! Ярлыки файлов , несомненно, являются наиболее часто используемым способом связывания файлов. Они были найдены в некоторых ранних версиях Windows 9x и были там в течение долгого времени.
Это позволяет вам быстро создать ярлык для любого файла или папки, более конкретно, оно предназначено для хранения дополнительной информации по всей ссылке, например, в рабочем каталоге, в котором выполняется файл, в аргументах, предоставляемых программе, а также в параметрах. нравится ли максимизировать программу.
Недостатком такого подхода к связыванию является то, что дополнительная информация требует, чтобы этот тип ссылки имел отдельный кластер данных для хранения этого файла. В этом случае проблема не обязательно в том, что она занимает место на диске, а в том, что она имеет косвенный доступ к ссылке, поскольку сначала необходимо запросить кластер данных, прежде чем мы перейдем к действительной ссылке. Если путь, указанный в фактической ссылке, исчез, ссылка на оболочку все равно будет существовать.
Если бы вам пришлось работать с файлом, на который вы ссылаетесь, вам бы сначала пришлось выяснить, в каком каталоге находится файл. Вы не можете просто открыть ссылку в редакторе, как если бы вы редактировали файл .lnk
а не файл, на который ссылается. Это блокирует множество возможных вариантов использования для ссылок оболочки.
Точка соединения NTFS позволяет создать символическую ссылку на каталог на локальных дисках таким образом, чтобы он вел себя как обычный каталог. Итак, у вас есть один каталог файлов, хранящихся на вашем диске, но вы можете получить к нему доступ из разных мест.
При удалении точки соединения сохраняется исходный каталог. При удалении исходного каталога точка соединения остается. Перечисление диска для проверки точек соединения, которые должны быть удалены, стоит очень дорого. Это недостаток в результате его реализации.
Точка соединения NTFS реализована с использованием точек повторной обработки NTFS, которые представляют собой объекты файловой системы NTFS, представленные в Windows 2000.
Точка повторной обработки NTFS - это тип объекта файловой системы NTFS. Точки повторной обработки обеспечивают способ расширения файловой системы NTFS путем добавления дополнительной информации к записи каталога, поэтому фильтр файловой системы может интерпретировать, как операционная система будет обрабатывать данные. Это позволяет создавать точки соединения, символические ссылки NTFS и точки монтирования тома, а также является ключевой функцией иерархической системы хранения Windows 2000.
Это верно, изобретение точки повторной обработки позволяет нам делать более сложные способы связывания.
Точка соединения NTFS - это мягкая ссылка, которая означает, что она просто ссылается на имя файла. Это означает, что всякий раз, когда ссылка удаляется, исходные данные остаются нетронутыми ; но всякий раз, когда исходные данные удаляются, исходные данные исчезают.
Да, когда появилась Windows Vista, они решили расширить функциональные возможности объектов файловой системы NTFS, предоставив символическую ссылку NTFS, которая является программной ссылкой, действующей так же, как точка соединения NTFS. Но может быть применен к файлу и каталогам.
Они снова имеют одинаковое поведение при удалении, в некоторых случаях это может быть проблемой для файлов, так как вы не хотите, чтобы бесполезная копия файла зависала. Вот почему также было введено понятие жестких ссылок.
Жесткие ссылки - это не объекты файловой системы NTFS, а ссылки на файл (в деталях они ссылаются на запись MFT, поскольку в ней хранится дополнительная информация о реальном файле). Запись MFT имеет поле, которое запоминает количество времени, с которым файл жестко связан. Данные будут по-прежнему доступны, пока существует хотя бы одна ссылка, указывающая на них.
Таким образом, данные больше не зависят от существования одной записи MFT. Пока существует жесткая связь, данные будут существовать. Это предотвращает случайное удаление в тех случаях, когда не требуется запоминать, где находился исходный файл.
Например, вы можете создать папку с «фильмами, которые мне еще предстоит посмотреть», а также папку «фильмы, которые я беру в отпуск», а также папку "любимые фильмы". Фильмы, которые не относятся ни к одному из них, будут надлежащим образом удалены, в то время как фильмы, к которым они относятся, будут продолжать существовать даже после просмотра фильма.
Некоторым ИТ или деловым людям может не понравиться запоминать или вводить различные буквы дисков, которые есть в их системе. Что на самом деле означает M:
Это была музыка? Фильмы? Модели? Карты?
В течение года Microsoft предпринимала усилия, чтобы попытаться перенести пользователей с work in drive C:
на work in your user folder
. Я, несомненно, могу сказать, что пользователи с UAC и проблемами с разрешениями - это те, которые не следуют этим рекомендациям, но не заставляют их задуматься:
Почему вы должны просматривать что-либо кроме ваших личных файлов ежедневно?
Точки монтирования тома - это профессиональный способ не ограничиваться буквами дисков, а иметь структуру каталогов, которая имеет для них смысл, но ...
В Windows 7 библиотеки были введены именно для этой цели. Сделано с музыкальными файлами, которые находятся в этой папке, и этой папке, и этой папке. На более низком уровне библиотеку можно просматривать как несколько ссылок. Они снова реализованы как объект файловой системы, который может содержать несколько ссылок. По сути, это отношения один ко многим...
Ярлыки ссылок: используйте их, когда вам нужен быстрый доступ к исполняемому файлу или веб-сайту, файлу, который вы запускаете очень часто, или когда вам нужно указать параметры для приложения, а пакетный файл является излишним. Не используйте его, когда намереваетесь манипулировать файлом через его ярлык.
Точки соединения: используйте их, если вы хотите, чтобы каталог находился где-то еще, это позволяет перемещать каталоги на более быстрые или медленные диски без потери доступа к исходному пути. Другое использование, когда вы хотите получить доступ к каталогу по другому пути. Они не могут быть использованы для ссылки на общий ресурс.
Мягкие ссылки: используйте их там, где ссылки на ярлык недостаточно, она часто используется, когда вы намерены манипулировать файлом через его ярлык. Или когда вы хотите, чтобы файл находился на более быстром или медленном диске, не теряя возможности доступа к исходному пути.
Жесткие ссылки: используйте их, когда вы хотите, чтобы файл исчез, только когда все жесткие ссылки на него удалены. Это не может быть использовано для папок.
Точки монтирования тома. Используйте их, если у вас закончились буквы диска или если вам удобнее получить доступ к тому через путь, а не через букву диска.
Библиотеки: используйте их, когда у вас есть один и тот же тип файла во многих разных местах, и вам нужно, чтобы они были вместе, это поддерживает съемные диски, поэтому удобно, чтобы папки на ваших съемных дисках отображались между папками на вашем компьютере, когда вы вставляете Это. Вы можете щелкнуть отдельные папки в дереве папок под библиотекой в виде дерева, что облегчает перемещение файлов между ними.
Если вы используете Windows Vista или более позднюю версию и обладаете правами администратора, вы можете проверить команду mklink (это инструмент командной строки). Я не уверен, какова symlink-y на самом деле, так как Windows дает ему маленький значок стрелки, который он ставит на ярлыки, но быстрый тест notepad++ для текстового файла показывает, что он может работать для того, что вы ищете.
Вы можете запустить mklink без аргументов для быстрого руководства по использованию.
Надеюсь, это поможет.
эта статья имеет некоторые различия
Одно из важных отличий состоит в том, что в некотором смысле переходы pre win7 были немного небезопасны, поскольку их удаление удаляло бы целевой каталог.
http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/
Точка соединения никогда не должна удаляться в Win2k, Win2003 и WinXP с помощью Explorer, команд del или del /s или любой утилитой, которая рекурсивно просматривает каталоги, поскольку они удаляют целевой каталог и все его подкаталоги. Вместо этого используйте команду rmdir, утилиту linkd или fsutil (если используется WinXP или выше) или сторонний инструмент для удаления точки соединения, не затрагивая цель. В Vista /Win7 безопасно удалить точки соединения с помощью проводника или с помощью команд rmdir и del.