PracticU

Жёсткая ссылка и символические ссылки

Без субтитровС субтитрами
PracticU › Курс техников Windows - Поддержка пользователей - Help Desk › Жёсткая ссылка и символические ссылки
Словарь терминов:
NTFS - Основная файловая система Windows, поддерживающая права доступа, шифрование и развитую структуру диска.
папка - Контейнер в файловой системе для организации файлов и других папок.
диск - Устройство для постоянного хранения данных, например жёсткий диск (HDD) или твердотельный накопитель (SSD).
раздел - Логически выделенная часть диска, которая работает как отдельный том.
файловая система - Способ, которым операционная система организует, хранит и управляет файлами и папками на носителе, например NTFS.
администратор - Пользователь с наивысшими правами в системе, который управляет настройками, программами и другими пользователями.
командная строка - Текстовый интерфейс, в котором набирают команды операционной системе и получают ответ текстом.
путь - Строка, описывающая расположение файла или папки в файловой системе, либо адрес ресурса внутри сайта.

Жёсткая ссылка и символические ссылки
Разбираем три типа ссылок в NTFS: hard link, symbolic link и junction. Все они позволяют видеть файл или папку в другом месте, но работают по-разному.
Основные шаги
1. Hard link: два имени указывают на одни и те же данные на диске. Изменение через одно имя видно и через второе, и переименование одного имени ссылку не ломает. Работает только для файлов и только внутри одного раздела.
2. Symbolic link: ярлык на уровне файловой системы, который работает между дисками и даже с сетевыми путями. Он зависит от имени: если переименовать исходный файл, ссылка перестает работать. Создание требует прав администратора.
3. Junction: похож на symbolic link, но работает только с папками. Он нормально работает и с папками на удаленном сервере в общем доступе, где symbolic link не работает.
4. Просмотр: в командной строке ссылки выглядят как обычные файлы и папки, а тип ссылки виден в списке.
5. Инструмент: создавать ссылки можно без командной строки, например бесплатной программой LinkShell Extension, которая добавляет команды в контекстное меню проводника.
Обратите внимание
Symbolic link на сетевой путь технически создать можно, но лектор советует так не делать.
Теперь вы понимаете, какую ссылку выбрать для файла, для папки и для сетевой папки.
Следующий урок курса: Дефрагментация диска на Windows 10

Содержание лекции: Жёсткая ссылка и символические ссылки

  1. 00:00

    Hardlink и символические ссылки в NTFS

  2. 00:41

    Hardlink: несколько имен для одного файла

  3. 01:35

    Графическое расширение LinkShell Extensions

  4. 02:30

    Создание hardlink через LinkShell

  5. 03:06

    Ограничения hardlink: файлы и один диск

  6. 03:59

    Symbolic link между разными дисками

  7. 05:26

    Поломка symlink при переименовании цели

  8. 06:01

    Symlink на удаленную шару по сети

Расшифровка лекции: Жёсткая ссылка и символические ссылки

Полный текст первых минут лекции «Жёсткая ссылка и символические ссылки» из видеокурса PracticU – субтитры с временной меткой для каждого абзаца. Так можно прочитать и найти нужные темы ещё до начала обучения.

  1. 00:03

    Добро пожаловать на лекцию про Hardlink. На этой лекции мы поймем, чем отличается Softlink от Hardlink. И это все встроено в NTFS файловую систему.

  2. 00:13

    Hardlink это как шорткат на уровне файловой системы. То есть это как ярлык, который указывает на какой-то файл.

  3. 00:21

    Но обычные шорткаты, они работают на уровне самого Windows. И не все приложения, не все программы умеют понимать шорткат.

  4. 00:30

    Поэтому мы хотим сделать вот эти вот шорткаты, эти указатели на файлы в другом месте прозрачно для приложения на уровне файловой системы.

  5. 00:41

    Для этого у нас есть команда mk-link и мы начнем с Hardlink. Hardlink это указатель на те же самые мегабайты на диске, только с другого имени.

  6. 00:52

    Что такое с другого имени? Это с другого файла. У нас есть ощущение, что есть два разных файла в файловой системе, но они оба указывают на одни и те же мегабайты на жестком диске.

  7. 01:03

    То есть фактически на одну и ту же информацию, на один и тот же файл есть два или три или тысячу имен. Кажется, максимальный предел там 1025.

  8. 01:13

    То есть мы можем в одну и ту же файловую систему на один и тот же файл сделать несколько имен. А физически это будет занимать только одно место.

  9. 01:23

    То есть мы не будем тратить место на копипейст, если одно делает апдейт, обновляет информацию, редактирует файл, моментально второй файл редактируется, но это не второй файл, это тот же самый файл, просто у него два указателя в таблице ntfs.

  10. 01:39

    Чтобы не делать самим вот эти вот команды mk-link, slash-h, это все писать я не люблю. Нам не надо сейчас автоматизировать процесс и не надо писать этот скрипт.

  11. 01:51

    Поэтому я хочу использовать графический инструмент, бесплатный, и он называется LinkShell Extensions. LinkShell Extensions это бесплатный инструмент, который я нашел через Google.

  12. 02:04

    Напишите LinkShell Extensions, вы его сразу же найдете. И нам надо download, скачать его И вот здесь внизу, немножечко ниже, мы увидим download на 64-битный Windows Я его уже по правде скачал и установил Там ничего нет, там next, next, next, ничего особого И после того, как я его установил, я могу пользоваться hardlink без командной строки

  13. 02:26

    Давайте сейчас создадим любой текстовой файл, предположим 1.txt И в этот файл запишем важную информацию И теперь мы можем с помощью графической добавки нажать ping link source, взять его как оригинал.

  14. 02:41

    И теперь мы можем сделать paste, drop as, либо hardlink, либо symboling link. Вот этот вот hardlink это и есть второй указатель на оригинальный файл. Единственное, что это работает только если мы в одной и той же файловой системе.

  15. 02:56

    То есть если мы на том же самом дисководе, диск c, диск d, надо оставаться на одном и том же диске. Видите, у меня сейчас два указателя на одно и то же место на диске.

  16. 03:06

    Вот я поменял информацию и теперь в оригинальном файле она тоже изменилась. И наоборот, оба имен файла смотрят на одни и те же мегабайты.

  17. 03:16

    Это называется Hardlink. Еще раз, Hardlink ограничен двумя вещами. Первое, это только файлы, папки он не поддерживает. И второе, это только на одной и той же партии.

  18. 03:27

    Давайте сейчас зайдем в эту папку и мы увидим, что с точки зрения пользователя файловой системы это самый обычный файл. В принципе, это обычный файл, он ничем не отличается от оригинала.

  19. 03:40

    Оригинал он не лучше и не хуже, не главнее, не второстепенней. Есть информация на жестком диске и на нее есть два указателя.

  20. 03:47

    Кто был первый, кто был последний, это совершенно не важно. Два равноправных указателя на одни и те же мегабайты в диске. Эта информация записана в таблице NTFS в начале, и то, что мы видим там 3 байта или 6 байтов, это не двойное место на жестком диске.

  21. 04:03

    Просто CMD не умеет понимать, что это не 6 байтов, а только 3 байта. То есть, с его точки зрения, это обычные файлы. Так, давайте я вам сейчас покажу, что будет, если я сделаю символинг-линк.

  22. 04:15

    То есть, не hard-линк, а символичный линк или soft-линк, он еще иногда называется. Кстати, в Linux есть то же самое. Так, мы сейчас берем этот Symbol Link Link и мы можем его кинуть на другую партицию, на другой диск, на другой Volume, на диск D.

  23. 04:32

    Видите, у меня есть возможность кинуть на диске C и Hard и Symbol Link, а на диске D я могу кинуть только Symbol Link Link. То есть вот этот символичный линк, он не ограничен как Hard Link на одну и ту же партицию.

  24. 04:46

    То есть Symbol Link Link может быть и на диске C, и на диске D, и на любом диске, он менее ограничен. Он как бы лучше. Но в чем разница? В том, что если я меняю контент, то он везде поменяется.

  25. 04:59

    Кстати, заметьте, что каждый файл видит все свои hardlink, потому что это в таблице ntfs прописано. Но он не видит символинг-линк. То есть символичные линки, оригинальный файл не знает, что они существуют.

  26. 05:12

    Символинг-линк, он односторонний. То есть он указывает на файл, но файл не знает, что указывают на него. Поэтому Hardlink это как бы оригинал, а Symboling Link он более ограниченный.

  27. 05:24

    Во-первых, мы видим в CMD, что у нас есть метка, что это символичный линк. И показано, на какое имя он указывает. А если я возьму и заменю это имя, и сделаю два точка тексти, что будет?

  28. 05:35

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

  29. 05:41

    А Symboling Link это уже не будет работать. Видите, он уже этого не понимает. Он указывает на имя, которого не существует на жестком диске.

  30. 05:50

    Он указывает на один текст, а у нас на жестком диске есть два текста. То есть Symboling Link сломается в тот момент, когда мы поменяем имя. Кстати, если я верну имя, то Symboling Link продолжит работать.

  31. 06:01

    Заметьте, я вернул имя и Symboling Link начал работать. Но если я опять поменяю имя, то он перестанет работать.

  32. 06:09

    То есть я вам хочу показать, что Symboling Link не ограничен одним диском. Он даже может по сети на дисковод на удаленной шаре указывать.

  33. 06:20

    Но он... Но этого не делать. Я вам потом расскажу, почему это не делать. Так, символинг-линк не ограничен одной партицией. Он может быть на дисководе D, как мы видим прямо сейчас.

  34. 06:30

    Но он чувствительен к изменению в имени. Вот мы видим в дисководе D символинг-линк указывает на файл 2.txt. Если 2.txt не будет, то он работать не будет.

  35. 06:46

    И мы видим, что можно с дисковода C указывать на дисковод D. И с D на C. И мы видим, что мы можем с ним работать как с обычным файлом.

  36. 06:54

    Ведь я запустил команду type, посмотреть, что есть внутри файла, и работаю с ним как с обычным файлом на дисководе D.

Полный курс: Курс техников Windows

Предыдущая лекция: Перенос установленной программы на новый диск в Windows 10

Следующая лекция: Дефрагментация диска на Windows 10

Другие курсы этого направления

  • Курс системных администраторов - MCSE / MCSA / MCTIP
  • Системный администратор - Учимся за 3 минуты
  • Собеседование - Системный администратор