Жорсткі і символьні (символічні) посилання в Windows

Якщо вам колись доводилося переглядати розташування файлів штатних програм Windows, то можливо ви помічали одну цікавинку. Деякі файли додатків дублюються, причому кілька разів. Наприклад, в 64-розрядної Windows 8.1 виявляється цілих 6 виконуваних файлів Блокнота notepad.exe, що знаходяться в різних каталогах системного розділу. Навіщо взагалі потрібна така дивна дублювання?

А необхідно воно для забезпечення сумісності зі сторонніми додатками, що використовують Блокнот для якихось своїх потреб. Причина проста - в різних програмах прописаний шлях до Блокноту може відрізнятися, і щоб виключити проблеми, розробники Microsoft вирішили розмістити notepad.exe в декількох місцях. Те ж саме стосується ряду інших штатних додатків, наприклад, WordPad.

Жорсткі посилання або Hard Link

Насправді дублювання зовсім необов'язково має мати місце. Те, що ви бачите і визначаєте як реальний файл, в дійсності може виявитися Hard Link - посиланням особливого типу, що використовується для формування шляхів до якого-небудь файлу. Такі посилання називаються жорсткими. Цікаво, що файл в NTFS може мати до 1023 жорстких посилань, і всі вони будуть виглядати як його точна копія за винятком імені і розміру. Як і ярлики, жорсткі посилання можуть мати різні імена.

Зате вміст і атрибути у них загальні, і якщо ви зміните їх в одній такому посиланню, то зміни торкнуться всіх інших посилань, навіть тих, які були видалені в Корзину. Що стосується розміру жорстких посилань, то це всього лише одна видимість. Що не мають практично ніякої ваги, посилання цього типу визначаються Провідником як такі, що реальна вага файли, що іноді викликає у користувачів чимало запитань і труднощів при ручному очищенні ряду системних каталогів, того ж Winsxs. Є у Hard Link і свої обмеження. Так, створювати жорсткі посилання можна тільки на файли і тільки в межах одного тому.

На щастя, стикатися з жорсткими посиланнями рядовим користувачам доводиться нечасто, інакше це напевно б призвело до плутанини і серйозних проблем. Описувати всі особливості поведінки жорстких посилань ми не будемо, так як це зайняло б занадто багато часу. Замість цього пропонуємо вам створити Hard Link самостійно і поекспериментувати з ними. Ось вам приклад. Створіть на робочому столі простий текстовий файл file1.txt і що-небудь напишіть в нього. Тепер відкрийте командний рядок і створіть на нього пару жорстких посилань з іменами file2.txt і file2.txt. Ось так:

cd% userprofile% \ desktop

fsutil hardlink create file2.txt file1.txt

fsutil hardlink create file3.txt file1.txt

Зверніть увагу, що після команди create першим йде ім'я жорсткої посилання, а потім ім'я оригінального файлу. Також ви можете створювати жорсткі посилання на інші жорсткі посилання. Загалом, розважайтеся. Упевнений, що ви знайдете для себе чимало цікавого.

Символьні посилання або Symbolic Link

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

Використання Symbolic Link може мати сенс при необхідності отримання доступу до одного файлу з різних місць. Створюються символьні посилання командою mklink:

mklink D: \ file2.txt% userprofile% \ desktop \ file1.txt

Першим після команди йде шлях до символьного посилання, другим - шлях до оригінального файлу. Якщо потрібно створити символьне посилання для каталогу, використовується та ж команда mklink, але з ключем \ d.

mklink \ d D: \ folder2% userprofile% \ desktop \ folder1

Зовні символьні посилання майже нічим не відрізняються від звичайних ярликів, за винятком позначки symlink у властивостях файлу або дати створення замість шляху до оригіналу в каталозі. Також якщо ви видалите оригінал, а потім спробуєте перейти по символьного посилання, то вона просто не відкриється, тоді як при спробі відкрити битий ярлик з'явиться повідомлення про недоступність оригінального файлу. Але найголовніша відмінність від ярликів в тому, що при роботі з символьними посиланнями Windows як і раніше буде вважати, що ви працюєте з оригінальним об'єктом.

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

Відмінного Вам дня!