Які існують різні типи посилань у Windows? Як їх створити?


54

Чи можливо зв’язати два файли чи папки без іншого розширення під Windows?

Я шукаю функціонал, еквівалентний м'яким і жорстким посиланням в Unix.


з цим пов’язано superuser.com/questions/343074/…
барлоп

відмінна стаття тут cects.com/… стежте за переходами до w7
барлоп

Відповіді:


57

Зверніть увагу, що єдина прикрою різницею є те, що вам потрібні права адміністратора для створення символічних посилань. IE, вам потрібен підвищений підказ. ( Вирішення проблеми полягає в тому, що SeCreateSymbolicLinkPrivilege може бути наданий звичайним користувачам через secpol.msc.)

Примітка в термінології: ярлики Windows не називаються "символьними посиланнями"; вони є посиланнями на оболонки , оскільки це просто файли, до яких оболонка Windows Explorer спеціально обробляє.


Символьні посилання: Як створити їх у файловій системі NTFS?

Windows Vista та новіші версії підтримують символьні посилання в файлових системах NTFS у стилі Unix . Пам'ятайте, що вони також дотримуються тієї ж роздільної здатності шляху - відносні посилання створюються щодо місця розташування посилання, а не до поточного каталогу. Люди часто це забувають. Вони також можуть бути реалізовані за допомогою абсолютного шляху; EG c: \ windows \ system32 замість \ system32 (який переходить до каталогу system32, підключеного до місця посилання).
Символьні посилання реалізуються за допомогою точок повторного розбору і, як правило, мають таку саму поведінку, як і символьні посилання Unix.

Для файлів можна виконати:

mklink  імя_ссилкі  TargetPath

Для каталогів ви можете виконувати:

mklink / д імя_ссилкі  TargetPath

Жорсткі посилання: Як створити їх у файлових системах NTFS?

Усі версії Windows NT підтримують жорсткі посилання в файлових системах NTFS у стилі Unix . Використання mklink на Vista та вище:

mklink / ч імя_ссилкі  TargetPath

Для Windows 2000 та XP використовуйте fsutil.

Fsutil HardLink створити LINKNAME  TargetPath

Вони також працюють так само, як і жорсткі посилання Unix - кілька записів у файловій таблиці вказують на один і той же індекс .


Зв'язки каталогів: Як створити їх у файлових системах NTFS?

Windows 2000 та новіших версій підтримують стики каталогів у файлових системах NTFS. Вони відрізняються від символьних посилань тим, що вони завжди абсолютні і вказують лише на каталоги, ніколи на файли.

mklink / J імя_ссилкі  TargetPath

Для версій, яких немає mklink, завантажте junctionз Sysinternals:

вузол  імя_ссилкі  TargetPath

З'єднання реалізуються за допомогою точок перезапуску .


Як можна монтувати гучність за допомогою точки перезавантаження в Windows?

Для повноти в Windows 2000 і новіших версіях точки повторного розбору також можуть вказувати на томи , в результаті чого стійкі кріплення диска в стилі Unix :

Mountvol  точка_монтірованія \\? \ Volume { volumeguid }

GUID томів перераховані за mountvol: вони статичні, але лише в одній машині.


Чи можна це зробити в Провіднику Windows?

Так, ви можете використовувати розширення оболонки Link Shell Extension, що дозволяє дуже легко робити посилання, описані вище. Ви можете знайти завантаження внизу сторінки .

Файл NTFS система реалізована в NT4, Windows 2000, Windows XP, Windows XP64 і Windows7 підтримує об'єкт , відомий як жорсткі посилання (згадані тут як жорсткі посилання ). Жорсткі посилання надають можливість зберігати одну копію файлу, але вона з’являється у кількох папках (каталогах). Вони можуть бути створені з допомогою команди POSIX пров включені в комплекту ресурсів Windows, то Fsutil утиліта командного включена в Windows XP або моєї командного рядка ln.exe утиліти.

Розширення дозволяє користувачеві вибрати один або кілька файлів або папок, потім за допомогою миші завершити створення необхідних Посилань - жорсткі посилання, з'єднання або символічні посилання або у випадку папок створити клони, що складаються з жорстких або символічних посилань. LSE підтримується у всіх версіях Windows, які підтримують NTFS версії 5.0 або новішої версії, включаючи Windows XP64 та Windows7. Жорсткі посилання, з'єднання та символьні посилання НЕ підтримуються у файлових системах FAT, а також не підтримується процес клонування та смарт-копіювання у файлових системах FAT.

Джерело може просто бути визначений з допомогою меню правої кнопки миші.

І залежно від того, що ви вибрали , ви клацніть правою кнопкою миші на папці призначення та отримаєте меню з параметрами.

Це дуже легко створює посилання. Докладний посібник читайте в документації LSE .

Завантаження можна знайти внизу сторінки .

Відповідні URL-адреси MSDN:


40

У цій відповіді я спробую окреслити, якими є різні типи посилань в управлінні каталогами, а також чому вони корисні, а також коли вони можуть бути використані. Намагаючись досягти певної організації на томах файлів, знання різних типів, а також їх створення є цінними знаннями.

Для отримання інформації про те , як певний зв'язок може бути зроблена, зверніться до grawity «s відповіді .

Що таке посилання?

Посилання - це відносини між двома сутностями; у контексті управління каталогами посилання може розглядатися як взаємозв'язок між двома наступними об'єктами:

  1. Таблиця каталогів

    Ця таблиця відстежує файли та папки, які знаходяться у певній папці.

    Таблиця каталогів - це особливий тип файлу, який представляє каталог (також відомий як папка). Кожен файл або каталог, що зберігаються в ньому, представлені 32-байтним записом у таблиці. Кожен запис записує ім'я, розширення, атрибути (архів, каталог, прихований, лише для читання, система та обсяг), дату та час останньої модифікації, адресу першого кластера даних файлу / каталогу та нарешті розмір файл / каталог.

  2. Кластер даних

    Більш конкретно, перший кластер файлу або каталогу.

    Кластер - це найменший логічний обсяг дискового простору, який може бути виділений для вміщення файлу.

Особливістю цього взаємозв'язку є те, що він дозволяє мати лише один кластер даних, але багато посилань на цей кластер даних, це дозволяє нам показувати дані як такі, що присутні в декількох місцях. Однак існує кілька способів зробити це, і кожен метод цього має свої наслідки.

Щоб побачити, звідки це коріння, давайте повернемося в минуле ...

Що таке оболонка і чому її не завжди достатньо?

Хоча це може не здаватись знайомим, ми всі це знаємо! Клавіші швидкого доступу до файлів , безсумнівно, є найбільш часто використовуваним способом посилання файлів. Вони були знайдені в деяких ранніх версіях 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 бібліотеки були представлені саме для цієї мети. З музичними файлами, які знаходяться в цій папці, і з цією папкою . З нижчого рівня перегляду бібліотеку можна розглядати як кілька посилань. Вони знову реалізуються як об'єкт файлової системи, який може містити кілька посилань. По суті це стосунки один до багатьох ...

Мій мозок вибухає ... Ви можете підсумувати, коли ними користуватися?

  • Посилання ярликів: використовуйте їх, коли вам потрібен швидкий доступ до виконуваного файлу чи веб-сайту, файлу, який ви запускаєте дуже часто або коли вам потрібно вказати параметри програми, а пакетний файл - надмір. Не використовуйте його, коли ви збираєтесь маніпулювати файлом через його ярлик.

  • Точки з’єднання: Використовуйте їх, коли ви хочете, щоб каталог знаходився в іншому місці, це дозволяє переміщувати каталоги на більш швидкі або повільні диски, не втрачаючи можливості доступу до вихідного шляху. Інше використання - це коли ви хочете отримати доступ до каталогу через інший шлях. Їх не можна використовувати для посилання на спільну інформацію.

  • М'які посилання: Використовуйте їх там, де посилання ярлика не вистачає, його часто використовують, коли ви маєте намір маніпулювати файлом через його ярлик. Або коли ви хочете, щоб файл знаходився на більш швидкому або повільному диску, не втрачаючи можливості доступу до вихідного шляху.

  • Жорсткі посилання: використовуйте їх, коли ви хочете, щоб файл не зник, коли всі жорсткі посилання на нього видалені. Це не можна використовувати для папок.

  • Точки монтажу гучності: використовуйте їх, коли у вас закінчуються літери накопичувача або коли вам здається більш доступним до тома через шлях, а не через букву диска.

  • Бібліотеки: Використовуйте їх, коли у вас є один і той же тип файлів у багатьох різних місцях, і вам потрібно, щоб вони були разом, це підтримує знімні диски, тому робить його зручним, щоб папки на ваших знімних дисках відображалися між тими, що на комп'ютері, коли ви вставляєте це. Ви можете натиснути на окремі папки з дерева папок під бібліотекою у вікні дерева, що полегшує переміщення файлів між обома.


Бібліотеки на рівні оболонки, як ярлики, правда?
Медінок

@Medinoc: Ні, вони об'єднують вміст кількох локацій.
Тамара Війсман

1
Але чи роблять вони це на рівні файлової системи таким чином, що, скажімо, cmd.exe і dirможе перелічити агрегований контент (у такому випадку, де у файловій системі вони знаходяться, я не можу його знайти) або вони лише агрегують на рівні оболонки, де лише діалогові вікна Провідника та файлів можуть показувати їх? Я був під враженням , він був останнім, але ваші «Ні» проблеми це , якщо я не писав моє запитання неправильно (я хотів сказати «Бібліотека оболонка рівень , як контекстні посилання є , вірно?» ).
Medinoc

@Medinoc: Це файли в C:\Users\{User}\AppData\Roaming\Microsoft\Windows\Libraries.
Тамара Війсман

1
@Pacerier: Windows використовує стару систему розташування, де ви можете, наприклад, переміщати музичну папку зі своїх властивостей. Бібліотеки - це нове доповнення, яке сама ОС ледь використовує як результат. Тому я сумніваюся, чи щось порушиться; оскільки вони призначені виключно для демонстраційних цілей, ...
Тамара Війсман,

8

Якщо ви перебуваєте в ОС Windows Vista або пізнішої версії та маєте права адміністратора, ви можете перевірити команду mklink (це інструмент командного рядка). Я не впевнений, наскільки це насправді символьна посилання, оскільки Windows надає їй маленьку піктограму стрілки, яку він кладе на ярлики, але швидкий тест блокнота ++ у текстовому файлі дозволяє припустити, що він може працювати для того, що ви шукаєте.

Ви можете запустити mklink без аргументів для швидкого посібника з використання.

Я сподіваюся, що це допомагає.


mklink використовує точки з'єднання NTFS (я вважаю, що їх так називають) для більш-менш ідеального дублювання зв'язку в стилі Unix. Windows може сказати, що це перехід, тому він надасть йому традиційний значок стрілки. iirc, ви можете вилучити це за допомогою деяких реєстрів, але я не пам'ятаю, де.
jcrawfordor

2
@jcrawfordor: Структури диска є "точками перегляду" . З'єднання та посилання - це два різних типи точок розбиття; Точки кріплення гучності - треті.
grawity

1
І так, @Gemini, -made mklinkсимвольні посилання були спеціально реалізовані для роботи так само, як і Unix .
grawity

Дякуємо завзяття, за підтвердження. Я ніколи з ними не грав багато, тому просто хотів включити disclaim.h;)
GeminiDomino

2

Ця стаття має деякі відмінності

одна важлива відмінність полягає в тому, що в певному сенсі стики, що передували win7, були трохи небезпечними, оскільки їх видалення видалило б цільовий каталог.

http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/

З'єднувальну точку ніколи не слід видаляти в Win2k, Win2003 та WinXP за допомогою Провідника, команд del або del / s або будь-якої утиліти, яка рекурсивно проходить каталоги, оскільки вони видалять цільовий каталог та всі його підкаталоги. Замість цього скористайтеся командою rmdir, утилітою linkd або fsutil (якщо використовується WinXP або вище) або стороннім інструментом для видалення точки з'єднання, не впливаючи на ціль. У Vista / Win7 безпечно видаляти Junction Points за допомогою Провідника або за допомогою команд rmdir і del.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.