Skip to content

Latest commit

 

History

History
52 lines (25 loc) · 4.17 KB

1.3.3.2 Link(ln).md

File metadata and controls

52 lines (25 loc) · 4.17 KB

Ссылки

ln -s <source> <destination> - destination ссылается на source. Если destination нет - команда заменяет его на . и создает в текущей директории c таким же название == source.

Типы ссылок

  • Символическая (мягкая) ссылка - ссылаются на имя файла. Похож на ярлык из Windows.

  • Жесткая ссылка (синхронизированная копия) - ссылаются на место файла в жестком диске (точнее на его inode). Не умеют работать с папками. Нельзя сделать ссылку между разными файловыми системами.

Пример:

Жесткая ссылка vs копия файла

Жесткая ссылка всегда взаимно синхронизирована с родительским файлом (source).

Копия не зависит от изменений родительского файла (source).

Относительный путь и ошибка

ln -s source Folder/symbolicLink:

Видно, что символическая ссылка не открывается. Вся проблема в том, что команда начала выполняться внутри папки Folder/ и уже там пытается создаться на ./Folder/source (но его там нет), тк source == ./source

❗Поэтому правильным тоном является создание ссылки c абсолютным путем к каждому файлу: ln -s ~/Desktop/source.txt ~/Desktop/Folder/symbolicLink

inode/vnodes serial number (ID)

  1. How macOS tracks your files: inside the inode

Некоторые приложения не способны переоткрыть файл (Open Recent?) после изменения/перемещения/переименовывания, вам приходится открывать их заново.

Вся разница в функции UNIX управления файлами - inode, которая является идентификатором для структуры данных, хранящей метаданные файла (владельца, разрешения, дата создания и тд). inode остается неизменной, независимо от того, как он назван или куда он перемещен.

Когда приложение открывает или сохраняет документ, оно использует путь к нему и имя файла - URL. Но лучшие приложения запоминают документы по серийным номерам inode, поэтому, когда они хотят открыть их снова, они запрашивают у macOS файл с этим серийным номером. Более слабые приложения запоминают документы по их URL-адресам, поэтому, если какая-либо их часть изменится, они не смогут найти документ, чтобы открыть его снова.

Узнать inode: ls -i file

inode


1.3.3.1 Bash Theme | Back To iOSWiki Contents | 1.3.4 Chmod Theme