Перейти к основному содержанию

Символические и жёсткие ссылки в Linux

Linux

Есть два вида ссылок в Linuх: символические и жёсткие. Ссылки — это особенность файловой системы Linux, которая позволяет размещать один и тот же файл в нескольких директориях.

Типы ссылок сильно отличаются друг от друга и используются для разных целей.

Символическая ссылка

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

  • Может ссылаться на файл и каталог.
  • После удаления, перемещения или переименования файла ссылка становится недействительной.
  • Ссылка имеет собственные права доступа и номер inode. При изменении прав доступа к целевому файлу права ссылки не меняются.
  • Можно ссылаться на другие разделы диска.
  • Содержат только имя файла или каталога, а не его содержимое.

Создать символическую ссылку можно командой:

ln -s /backup/source/ /opt/prog/mylink

Где /backup/source/ — папка, которая должна существовать и на которую нужно ссылаться.

А /opt/prog/mylink — создаваемая ссылка, не должна существовать на момент выполнения команды.

Жёсткая ссылка

Все жёсткие ссылки — это отдельные файлы, но ведут к одному участку жёсткого диска, где расположены данные файла. Файл можно перемещать между каталогами, все ссылки останутся рабочими.

  • Работает только в пределах одной файловой системы.
  • Нельзя ссылаться на каталоги.
  • Ссылка имеет те же права доступа и номер inode, что и исходный файл. При изменении разрешений файла изменятся права ссылки.
  • Можно перемещать и переименовывать и даже удалять файл без вреда для ссылки.

Создать жёсткую ссылку можно командой:

ln -P /backup/source/file1.txt /opt/prog/mylink/file2.txt

Где /backup/source/file1.txt - файл, на который нужно ссылаться.

А /opt/prog/mylink/file2.txt - создаваемая жёсткая ссылка, не должна существовать на момент выполнения команды.

В общем виде

ln опции файл_источник файл_ссылки

  • -d разрешить создавать жесткие ссылки для директорий суперпользователю.
  • -f удалять существующие ссылки.
  • -i спрашивать нужно ли удалять существующие ссылки.
  • -P создать жесткую ссылку.
  • -r создать символическую ссылку с относительным путем к файлу.
  • -s создать символическую ссылку.

Ссылки

Символические и жёсткие ссылки в Windows

Теги

 

Похожие материалы

Gmail — сообщение не было зашифровано

Отправляю с корпоративного почтового сервера письма на Gmail с использованием TLS, а они помечаются красным значком "Без шифрования" и хинтом: Сообщение не было зашифровано.

Теги

Бэкап MSSQL на NAS

Недавно столкнулся с задачкой — настроить резервное копирование MSSQL базы на сетевую шару по SMB. Сам SQL сервер работает под доменной учётной записью, а SMB шара доступна по локальному логину и паролю NAS.

Теги