Символическая ссылка
В вычислениях символическая ссылка (также символическая ссылка или мягкая ссылка ) — это файл, цель которого — указать на файл или каталог (называемый «цель») путем указания пути к нему. [1]
Символические ссылки поддерживаются POSIX и большинством Unix-подобных операционных систем , таких как FreeBSD , Linux и macOS . Ограниченная поддержка также существует в Windows 7 и Windows Vista и в некоторой степени в Windows 2000 и Windows XP в виде файлов ярлыков. В 1963 году в CTSS на IBM 7090 файлы были связаны по имени. [2] [3] [4] К 1978 году операционные системы для мини-компьютеров от DEC от Data General и RDOS включали символические ссылки.
Обзор [ править ]
Символическая ссылка содержит текстовую строку, которая автоматически интерпретируется и используется операционной системой как путь к другому файлу или каталогу. Этот другой файл или каталог называется «цель». Символическая ссылка — это второй файл, который существует независимо от своей цели. Если символическая ссылка удаляется, ее цель остается неизменной. Если символическая ссылка указывает на цель, а через некоторое время эта цель перемещается, переименовывается или удаляется, символическая ссылка не обновляется и не удаляется автоматически, но продолжает существовать и по-прежнему указывает на старую цель, которая теперь является несуществующим местоположением или файл. Символические ссылки, указывающие на перемещенные или несуществующие цели, иногда называют сломанными , потерянными , мертвыми или висячими .
Символические ссылки отличаются от жестких ссылок . Жесткие ссылки не связывают пути на разных томах или файловых системах , тогда как символические ссылки могут указывать на любой файл или каталог независимо от томов, на которых находится ссылка и цель. Жесткие ссылки всегда ссылаются на существующий файл, тогда как символические ссылки могут содержать произвольный путь, который ни на что не указывает.
Символические ссылки работают прозрачно для многих операций: программы, которые читают или записывают файлы, названные символической ссылкой, будут вести себя так, как если бы они работали непосредственно с целевым файлом. Однако они приводят к изменению иерархической файловой системы из дерева в ориентированный граф, что может иметь последствия для таких простых операций, как определение текущего каталога процесса. Даже стандарт Unix для перехода к родительскому каталогу каталога больше не работает надежно при наличии символических ссылок. Некоторые оболочки эвристически пытаются поддерживать иллюзию древовидной иерархии, но когда они это делают, это приводит к тому, что они выдают результаты, отличные от результатов других программ, которые манипулируют путями без такой эвристики, полагаясь вместо этого на операционную систему. [5] Таким образом, программам, которым необходимо специально обрабатывать символические ссылки (например, оболочкам и утилитам резервного копирования), необходимо идентифицировать их и манипулировать ими напрямую.
Некоторые дистрибутивы Unix и Linux широко используют символические ссылки, пытаясь изменить порядок иерархии файловой системы. Это достигается с помощью нескольких механизмов, таких как варианты контекстно-зависимых символических ссылок. Это дает возможность создать более интуитивное или специфичное для приложения дерево каталогов и реорганизовать систему без необходимости перепроектирования основного набора системных функций и утилит.
POSIX и Unix- системы операционные подобные
В POSIX- совместимых операционных системах символические ссылки создаются с помощью symlink
[6] системный вызов. ln
команда оболочки обычно использует link
[7] системный вызов, который создает жесткую ссылку . Когда ln -s
указан флаг, вместо него используется системный вызов symlink(), создающий символическую ссылку. Символические ссылки были представлены в 1982 году в версии 4.1a BSD Unix от Калифорнийского университета в Беркли . [8]
Следующая команда создает символическую ссылку в интерфейсе командной строки (оболочке):
ln -s target_path link_path
target_path — это относительный или абсолютный путь, на который должна указывать символическая ссылка. Обычно цель существует, хотя могут быть созданы символические ссылки на несуществующие цели. link_path — путь к символической ссылке.
После создания символической ссылки можно использовать некоторые операции, чтобы рассматривать ее как псевдоним цели. Однако lstat
, [9] lchown
[10] и readlink
[11] операции уникальны для символических ссылок и не применяются к цели; используя эти системные вызовы, программы, проверяющие файловую систему (например, ls
, find
) может сообщать о символических ссылках (вместо их целей, если таковые имеются). Потому что rename
и unlink
системные вызовы запрограммированы для работы непосредственно с символическими ссылками, командами управления файловой системой (например, rm
, mv
) влияет на саму символическую ссылку (вместо применения к цели символической ссылки, если таковая имеется). rm
(удалить файл) команда удаляет саму ссылку, а не целевой файл. Аналогично, mv
команда перемещает или переименовывает ссылку, а не цель. cp
Команда имеет параметры, позволяющие копировать либо символическую ссылку, либо цель. Команды, которые читают или записывают содержимое файла, будут получать доступ к содержимому целевого файла.
Приложение для просмотра каталогов POSIX, ls
, обозначает символические ссылки со стрелкой после имени, указывающей на имя целевого файла (см. следующий пример), когда запрашивается длинный список каталогов ( -l
вариант). Когда запрашивается список каталогов с символической ссылкой, указывающей на каталог, будет отображаться только сама ссылка. Чтобы получить список связанного каталога, путь должен включать в себя завершающий символ-разделитель каталогов ('/', косая черта).
Примечание. В приведенном ниже примере не создавайте каталог «три» перед созданием ссылки в каталоге /tmp.
$ mkdir -p /tmp/one/two
$ echo "test_a" >/tmp/one/two/a
$ echo "test_b" >/tmp/one/two/b
$ cd /tmp/one/two
$ ls -l
-rw-r--r-- 1 user group 7 Jan 01 10:01 a
-rw-r--r-- 1 user group 7 Jan 01 10:01 b
$ cd /tmp
$ ln -s /tmp/one/two three
$ ls -l three
lrwxrwxrwx 1 user group 12 Jul 22 10:02 /tmp/three -> /tmp/one/two
$ ls -l three/
-rw-r--r-- 1 user group 7 Jan 01 10:01 a
-rw-r--r-- 1 user group 7 Jan 01 10:01 b
$ cd three
$ ls -l
-rw-r--r-- 1 user group 7 Jan 01 10:01 a
-rw-r--r-- 1 user group 7 Jan 01 10:01 b
$ cat a
test_a
$ cat /tmp/one/two/a
test_a
$ echo "test_c" >/tmp/one/two/a
$ cat /tmp/one/two/a
test_c
$ cat a
test_c
Хранение символических ссылок [ править ]
Ранние реализации символических ссылок хранили информацию о символических ссылках в виде данных в обычных файлах. Файл содержал текстовую ссылку на цель ссылки, а биты режима файла указывали, что тип файла является символической ссылкой.
Этот метод был медленным и неэффективным в использовании дискового пространства в небольших системах. Улучшение, называемое быстрыми символическими ссылками , позволило хранить целевой путь в структурах данных, используемых для хранения информации о файле на диске ( inodes ). В этом пространстве обычно хранится список адресов дисковых блоков , выделенных для файла. Таким образом, доступ к символическим ссылкам с короткими целевыми путями осуществляется быстро. Системы с быстрыми символическими ссылками часто возвращаются к использованию исходного метода, если целевой путь превышает доступное пространство inode. Исходный стиль задним числом называется ссылкой медленной символической . Он также используется для совместимости диска с другими или более старыми версиями операционных систем.
Хотя хранение значения ссылки внутри индексного дескриптора экономит дисковый блок и чтение с диска, операционной системе все равно необходимо анализировать имя пути в ссылке, что всегда требует чтения дополнительных индексных дескрипторов и обычно требует чтения других и, возможно, многих каталогов, обработки как список файлов, так и индексные дескрипторы каждого из них, пока не будет найдено совпадение с компонентами пути ссылки. Только когда ссылка указывает на файл в том же каталоге, «быстрые символические ссылки» обеспечивают значительно лучшую производительность, чем другие символические ссылки.
Подавляющее большинство POSIX-совместимых реализаций используют быстрые символические ссылки. Однако стандарт POSIX не требует реализации всего набора информации о состоянии файлов, общей для обычных файлов, для символических ссылок. Это позволяет реализациям использовать другие решения, такие как хранение данных символических ссылок в записях каталога.
Разрешения файловой системы символической ссылки не используются; режимы доступа к целевому файлу контролируются собственными разрешениями целевого файла. Некоторые операционные системы, такие как FreeBSD, предлагают возможность изменять права доступа к файлам и атрибуты файловой системы символической ссылки посредством lchmod
[12] и lchflags
[13] системные вызовы соответственно.
Сообщаемый размер символической ссылки — это количество символов в пути, на который она указывает.
Обработка ошибок [ править ]
Традиционная файловая система Unix имеет древовидную структуру. [14] однако символические ссылки позволяют содержать циклы. [5]
Microsoft Windows [ править ]
Символическая ссылка NTFS [ править ]
В NTFS 3.1 появилась поддержка символических ссылок для файлов любого типа. Он был включен в состав Windows XP , но по умолчанию был включен только для приложений режима ядра. Windows Vista и более поздние версии Windows включили поддержку символических ссылок на приложения пользовательского режима. mklink
Внутренняя команда командной строки Windows может создавать символические ссылки. Драйверы сторонних производителей необходимы для включения поддержки символических ссылок NTFS в Windows XP. [15] В отличие от точек соединения , символическая ссылка также может указывать на файл или сетевой путь к удаленному блоку сообщений сервера (SMB). Кроме того, реализация символических ссылок NTFS обеспечивает полную поддержку межфайловых связей. Однако функциональность, обеспечивающая символические ссылки между хостами, требует, чтобы удаленная система также поддерживала их.
Символические ссылки предназначены для облегчения миграции и совместимости приложений с операционными системами POSIX . Microsoft стремилась к тому, чтобы символические ссылки Windows Vista «функционировали так же, как ссылки UNIX». [16] Однако реализация отличается от символических ссылок Unix по нескольким причинам. Например, пользователи Windows Vista должны вручную указывать при создании символической ссылки, является ли она файлом или каталогом. [17] Windows 7 и Vista поддерживают максимум 31 точку повторной обработки (и, следовательно, символические ссылки) для данного пути (т. е. любой заданный путь может иметь не более 31 косвенного направления, прежде чем Windows сдастся). [18] Только пользователи с новым полномочием «Создать символическую ссылку» , которое по умолчанию есть только у администраторов, могут создавать символические ссылки. [19] Если это нежелательное поведение, его необходимо изменить в консоли управления локальной политикой безопасности. Кроме того, символические ссылки NTFS на файлы отличаются от символических ссылок NTFS на каталоги и поэтому не могут использоваться взаимозаменяемо, в отличие от POSIX, где одна и та же символическая ссылка может ссылаться как на файлы, так и на каталоги.
В Windows Vista и более поздних версиях, когда путь к рабочему каталогу заканчивается символической ссылкой, ссылка на текущий родительский путь ..
, будет ссылаться на родительский каталог символической ссылки, а не на каталог ее цели. Такое поведение также встречается на уровне оболочки, по крайней мере, в некоторых системах POSIX, включая Linux , но никогда при доступе к файлам и каталогам посредством вызовов операционной системы. Например, встроенные команды bash pwd
и cd
работать с текущим логическим каталогом. pwd
часто используется в сценариях для определения фактического текущего рабочего каталога. Когда какой-либо путь используется с системным вызовом, любое использование ..
будет использовать фактическую родительскую файловую систему каталога, содержащего ..
запись псевдокаталога. Так, cd ..; cat something
и cat ../something
может возвращать совершенно разные результаты.
Примеры [ править ]
В следующих примерах создается символическая ссылка «Загрузки» на «E:», указывающая на папку «Загрузки» в профиле текущего пользователя.
- Первый пример работает в командной строке Windows только потому, что
mklink
это внутренняя команда.
mklink /D E:\Downloads %UserProfile%\Downloads
- Второй пример работает в PowerShell только потому, что New-Item — это внутренний командлет.
New-Item -Path 'E:\Downloads' -ItemType 'SymbolicLink' -Value "$Env:UserProfile\Downloads"
Точки соединения NTFS [ править ]
Версия Windows 2000 для NTFS представила точки повторной обработки , которые, среди прочего, позволили использовать точки монтирования тома и точки соединения. Точки соединения предназначены только для каталогов, причем только для локальных каталогов; точки соединения с удаленными общими ресурсами не поддерживаются. [20] В комплекты ресурсов Windows 2000 и XP входит программа linkd для создания точек соединения; более мощный вариант под названием Junction распространял Sysinternals из Марк Руссинович .
Не все стандартные приложения поддерживают точки повторной обработки. Наиболее заметно, что резервное копирование страдает от этой проблемы и выдает сообщение об ошибке 0x80070003. [21] когда папки, подлежащие резервному копированию, содержат точку повторной обработки.
Ярлыки [ править ]
Ярлыки , которые поддерживаются браузерами графических файлов некоторых операционных систем, могут напоминать символические ссылки, но имеют ряд важных отличий. Единственное различие заключается в том, какой тип программного обеспечения может следовать за ними:
- Символические ссылки автоматически разрешаются файловой системой. Любая программа при доступе к символической ссылке вместо этого увидит цель, независимо от того, знает ли программа о символических ссылках или нет.
- Ярлыки обрабатываются файловой системой и программами, которые о них не знают, как обычные файлы. Только программы, которые понимают ярлыки (например, оболочка Windows и файловые браузеры), рассматривают их как ссылки на другие файлы.
Механизмы также имеют разные возможности:
- Ярлыки Microsoft Windows обычно ссылаются на пункт назначения по абсолютному пути (начиная с корневого каталога ), тогда как символические ссылки POSIX могут ссылаться на пункты назначения по абсолютному или относительному пути . Последнее полезно, если и символическая ссылка, и ее цель имеют общий путь к предку, который неизвестен при создании (например, в архивном файле , который можно распаковать где угодно).
- Ярлыки приложений Microsoft Windows содержат дополнительные метаданные, которые можно связать с местом назначения, тогда как символические ссылки POSIX представляют собой просто строки, которые будут интерпретироваться как абсолютные или относительные пути.
- В отличие от символических ссылок, ярлыки Windows сохраняют ссылки на свои цели, даже когда цель перемещается или переименовывается. Клиенты домена Windows могут подписаться на службу Windows , называемую отслеживанием распределенных ссылок. [22] отслеживать изменения в интересующих их файлах и папках. Служба сохраняет целостность ярлыков, даже когда файлы и папки перемещаются по сети. [23] Кроме того, в Windows 9x и более поздних версиях оболочка Windows пытается найти цель неработающего ярлыка, прежде чем предложить его удалить.
Ярлыки папок [ править ]
Почти как ярлыки, но прозрачны для оболочки Windows. [24] Они реализованы как обычные папки (которые должны иметь атрибут « только для чтения» и/или системный атрибут). [25] ), содержащий ярлык с именем target.lnk , который ссылается на цель, и (скрытый) файл Desktop.ini со (как минимум) следующим содержимым:
[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Ярлыки папок создаются и используются из оболочки Windows в сетевом окружении , например, .
Объекты оболочки [ править ]
Объекты оболочки [26] или папки оболочки определяются в реестре Windows и также могут использоваться для реализации своего рода символической ссылки. Как и ярлыки папок, они прозрачны для оболочки Windows.
Минимальная реализация (CLSID {00000000-0000-0000-0000-000000000000} используется в качестве заполнителя):
[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}]
@="display name"
[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}\DefaultIcon]
@="..." ; path to icon
[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}\InProcServer32]
@="%SystemRoot%\\System32\\ShDocVw.Dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}\Instance]
"CLSID"="{0AFACED1-E828-11D1-9187-B532F1E9575D}"
[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}\Instance\InitPropertyBag]
"Attributes"=hex:15,00,00,00
"Target"="..." ; absolute (WITHOUT "TargetKnownFolder" or "TargetSpecialFolder" only)
; or relative path to target
"TargetKnownFolder"="{guidguid-guid-guid-guid-guidguidguid}" ; GUID of target folder, Windows Vista and later
"TargetSpecialFolder"="0x00xy" ; CSIDL of target
[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000}\ShellFolder]
"Attributes"=hex:00,00,00,00
Папка «Мои документы» на рабочем столе, а также папки «Шрифты» и «Администрирование» на панели управления являются примерами объектов оболочки , перенаправленных в папки файловой системы.
Символические ссылки Cygwin [ править ]
Cygwin имитирует POSIX-совместимые символические ссылки в файловой системе Microsoft Windows. Он использует идентичные интерфейсы программирования и пользовательских утилит, что и Unix (см. выше), но создает ярлыки Windows (файлы .lnk) с дополнительной информацией, используемой Cygwin во время разрешения символических ссылок. Символические ссылки Cygwin соответствуют стандарту POSIX с точки зрения их разрешения, а также стандартам Windows с точки зрения их представления на диске.
Кроме того, Cygwin можно настроить для поддержки собственных символических ссылок Windows, которые можно использовать из Cygwin без ограничений. [27] Для этого необходимо:
- Изменение переменной среды CYGWIN, чтобы она содержала Winsymlinks: родной ;
- Запуск Cygwin с повышенными правами, поскольку Windows ограничивает создание символических ссылок привилегированными пользователями.
Однако существуют некоторые различия. Cygwin не имеет возможности указать информацию, связанную с ярлыком, например, рабочий каталог или значок, поскольку для таких параметров нет места в ln -s
команда. Для создания стандартных файлов Microsoft .lnk Cygwin предоставляет mkshortcut
и readshortcut
коммунальные услуги. [28]
Руководство пользователя Cygwin содержит дополнительную информацию по этой теме. [27] MSYS2 , основанный на Cygwin, имеет аналогичный набор настройки winsymlinks , но по умолчанию копируются файлы. [29]
ссылок POSIX и Сравнение Windows символических
Символическая ссылка | перекресток | Жесткая ссылка | |
---|---|---|---|
Когда ссылка будет удалена... | Цель остается неизменной | Цель удалена [а] | Счетчик ссылок уменьшается. Когда оно достигает 0, цель удаляется. |
Когда цель перемещается... | Ссылка становится недействительной | Ссылка становится недействительной | Ссылка остается актуальной |
Относительный путь | Допустимый | Не разрешено [б] | — |
Может быть на другом томе? | Да | Да | Нет |
Ссылка на файлы в Windows | Да [с] | Нет | Да |
Ссылка на папки в Windows | Да | Нет | |
Ссылка на файлы в Unix | Да | — | Да |
Ссылка на папки в Unix | Да | — | Частичный [д] |
- ^ кроме случаев использования специальных инструментов
- ^ При сохранении становится абсолютным путем.
- ^ Поддерживается в Windows Vista и более поздних версиях. Реализация Windows не совместима с POSIX. Для их создания требуется привилегия «создать символическую ссылку» (SeCreateSymbolicLinkPrivilege). По умолчанию учетная запись пользователя имеет эту привилегию, если она является администратором или имеет включенный режим разработчика (Windows 10 v1703 и более поздние версии). [30]
- ^ POSIX разрешает жесткие ссылки на папки, но не требует их. Современные файловые системы, как правило, не поддерживают его.
Другие реализации [ править ]
Реализация функций, аналогичных символическим ссылкам.
Ранний MIT
MIT- совместимая система разделения времени c. 1963 и Несовместимая система разделения времени имеют связанные файлы, в которых имя целевого файла указано в записи каталога. [2] [3] [4]
Друг [ править ]
Команда создания символических ссылок: makelink
, который также используется для жестких ссылок. Внутри dos.library возвращает код ошибки, указывающий, что целью является программная ссылка, если вы пытаетесь выполнить над ней действия, которые разрешены только для файла, а приложения, которые хотят перейти по символической ссылке, затем должны явно выполнить вызов перейдите по ссылке и повторите операцию. Оболочка AmigaDOS автоматически переходит по ссылкам.
Mac OS [ править ]
В Mac OS приложения или пользователи также могут использовать псевдонимы , которые имеют дополнительную функцию отслеживания цели, даже если она перемещается в другое место на том же томе. Не следует путать его с псевдонимом команды оболочки .
ОС/2 [ править ]
В операционной системе OS/2 символические ссылки чем-то напоминают тени в графической оболочке Workplace Shell . Однако благодаря полностью объектно-ориентированной системной объектной модели тени значительно более мощны и надежны, чем простая ссылка. Например, тени не теряют своих возможностей при переименовании или перемещении объекта или субъекта ссылки. [31]
Переменные символические ссылки [ править ]
Символические ссылки могут быть реализованы контекстно-зависимым или переменным образом, так что ссылка указывает на различные цели в зависимости от параметра конфигурации, параметра времени выполнения или другого мгновенного состояния.
или Символическая ссылка на переменную вариант — это символическая ссылка, в которую встроено имя переменной. Это обеспечивает некоторую гибкость в порядке файловой системы, что невозможно при использовании стандартной символической ссылки. Переменные, встроенные в символическую ссылку, могут включать в себя информацию, специфичную для пользователя и среды.
К операционным системам , использующим различные символические ссылки, относятся NetBSD , DragonFly BSD , Domain/OS . [32] [33] [5] Tru64 использует контекстно-зависимую символическую ссылку , где контекстом является номер члена кластера.
Pyramid Technology OSx компании Операционная система реализовала условные символические ссылки , которые указывали на разные места в зависимости от того, в какой юниверсе выполнялась программа. Поддерживаемые юниверсы: SysV.3 от AT&T и Berkeley Software Distribution (BSD 4.3). Например: если команда ps была запущена в юниверсе att , то символическая ссылка на каталог /bin будет указывать на /.attbin и программа /.attbin/ps будет выполнена. А если бы команда ps была запущена во вселенной ucb , то /bin указывал бы на /.ucbbin и /.ucbbin/ps был бы выполнен. Подобные условные символические ссылки были также созданы для других каталогов, таких как /lib , /usr/lib , /usr/include . [34]
См. также [ править ]
- Гонка символических ссылок — уязвимость безопасности, вызванная символическими ссылками.
- freedup — автоматически генерирует связи между идентичными данными
- Указатель (компьютерное программирование)
Ссылки [ править ]
- ^ Разрешение пути , POSIX .
- ^ Jump up to: а б Уолден, Дэвид; Ван Флек, Том , ред. (2011). «Совместимая система разделения времени (1961–1973): обзор, посвященный пятидесятой годовщине» (PDF) . Компьютерное общество IEEE . Проверено 20 февраля 2022 г.
По мере развития CTSS мы предоставляли пользователям возможность делиться своими файлами на диске посредством «общих файлов» и «связывания».
- ^ Jump up to: а б Крисман, Патрисия А., изд. (31 декабря 1969 г.). «Совместимая система разделения времени, Руководство программиста» (PDF) . Вычислительный центр Массачусетского технологического института . Проверено 10 марта 2022 г.
Записи UFD, которые указывают на другие записи UFD, а не на сам файл.
- ^ Jump up to: а б Корбато, Фьюжн ; Даггетт, ММ; Дейли, Р.К.; Кризи, Р.Дж.; Хеллвиг, доктор юридических наук; Оренштейн, Р.Х.; Корн, Л.К. (1963). «Совместимая система разделения времени. Руководство для программиста» (PDF) . Массачусетский технологический институт . Проверено 29 ноября 2022 г.
Ссылка: Формат аналогичен Копии. Указанный файл не копируется
- ^ Jump up to: а б с Пайк, Роб (2000). Лексические имена файлов в Plan 9 или правильное решение (PDF) . Учеб. USENIX Annual Tech. Конф.
- ^ символическая ссылка, символическая ссылка . IEEE Std 1003.1, издание 2013 г.
- ^ ссылка, ссылка . IEEE Std 1003.1, издание 2013 г.
- ^ Билл Джой ; Сэм Леффлер . «Выживание с 4.1a bsd» . Гитхаб . Проверено 8 сентября 2023 г.
Он также включает в себя несколько других функций, которые могут оказаться вам полезными, например символические ссылки и улучшенную схему групп.
- ^ fstatat, lstat, stat — получить статус файла IEEE Std 1003.1, 2013 Edition.
- ^ lchown — смена владельца и группы символической ссылки IEEE Std 1003.1, 2013 Edition.
- ^ readlink, readlinkat — прочитать содержимое символической ссылки IEEE Std 1003.1, 2013 Edition.
- ^ "lchmod(2)" . Страницы руководства для FreeBSD 11.
- ^ "lchflags(2)" . Страницы руководства для FreeBSD 11.
- ^ Ричи, DM ; Томпсон, К. (июль 1978 г.). «Система разделения времени UNIX». Белл Систем Тех. Дж . 57 (6): 1905–1929. CiteSeerX 10.1.1.112.595 . дои : 10.1002/j.1538-7305.1978.tb02136.x .
- ^ «Сайт расширения Link Shell» . Ссылка на сайт расширения Shell .
- ^ Символические ссылки , Библиотека MSDN, Разработка Win32 и COM, 18 января 2008 г.
- ^ «Функция CreateSymbolicLinkA (winbase.h)» . MSDN . Июнь 2023.
- ^ Рекомендации по программированию символических ссылок , MSDN
- ^ Марк Руссинович: Внутри ядра Windows Vista: Часть 1 – Символические ссылки на основе файлов, Microsoft Technet, февраль 2007 г.
- ^ «Документация Sysinternals Junction» . microsoft.com . Проверено 23 марта 2018 г.
- ^ «Ошибки резервного копирования или восстановления Windows 0x80070001, 0x81000037 или 0x80070003» . support.microsoft.com .
- ^ «Отслеживание распределенных ссылок на контроллерах домена — Windows Server» . 23 февраля 2023 г.
- ^ «Отслеживание распределенных ссылок и идентификаторы объектов» . Сеть разработчиков Microsoft . Корпорация Майкрософт. 20 марта 2011 года . Проверено 30 июня 2011 г.
- ^ «Указание местоположения расширения пространства имен» . msdn.microsoft.com . 11 января 2008 года . Проверено 23 марта 2018 г.
- ^ «Вы не можете просмотреть или изменить атрибуты папок «Только для чтения» или «Система» в Windows Server 2003, в Windows XP, в Windows Vista или в Windows 7» . support.microsoft.com . Проверено 8 июля 2021 г.
- ^ Создание расширений оболочки с помощью объектов экземпляра оболочки . msdn.microsoft.com
- ^ Jump up to: а б «Глава 3. Использование Cygwin» . www.cygwin.com . Проверено 8 июля 2021 г.
- ^ «Эффективное использование Cygwin с Windows» .
- ^ «Coreutils: ln --symbolic создает жесткие ссылки (MSYS2-пакеты № 249)» . Гитхаб .
- ^ «Создание символических ссылок» . Документация по клиенту Windows для ИТ-специалистов . Майкрософт . 18 января 2023 г. – через Microsoft Learn.
- ^ Рохас, Мигель (16 декабря 2020 г.). «Как запускать версии Python, отличные от версий по умолчанию» . manualtutor.com/ . Проверено 20 декабря 2020 г.
- ^ NetBSD по разной информации Руководство : магические символические ссылки. –
- ^ Брукс Дэвис (2008). «Варианты символических ссылок для FreeBSD» (PDF) .
- ^ Нил Браун (2016). «Дело в пользу вариантов символических ссылок» . ЛВН .
Внешние ссылки [ править ]
- Вопросы и ответы: Разница между жесткими и мягкими ссылками применительно к Linux
- Соединение : поддержка точек соединения NTFS (для Windows 2000 и выше).
- FSUtil Hardlink : страница Microsoft Technet, посвященная использованию инструмента командной строки FSUtil для создания жестких ссылок (для Windows 2000 и более поздних версий).
- Символические драйверы для Windows XP (на японском языке) : драйверы файловой системы для включения символических ссылок для Windows XP (также отражены на сайте расширения Link Shell). Доступные источники.