Ответы:
Основная идея примерно такая же. Символическая ссылка - это специальный файл, который содержит путь (относительный или абсолютный) к другому объекту файловой системы. В UNIX / Linux сама ОС обрабатывает символическую ссылку, прозрачно преобразовывая ее в реальный объект.
На Mac псевдоним, по-видимому, представляет собой специальную конструкцию Finder, которая может ссылаться как на удаленные объекты, так и на локальные, но Finder разрешает ссылку, а не ОС. MacOS X также имеет символические ссылки, но они отделены от псевдонимов.
Большая разница между ярлыком Windows и символической ссылкой. Ярлык Windows не может легко заменить программу, потому что Windows всегда должна иметь эти надоедливые расширения файлов, а файл «lnk» не является исполняемым, когда дело доходит до Windows. В графическом интерфейсе это работает, но с точки зрения сервера - barfs. То же самое с каталогом. Они полезны, но не имеют силы и гибкости символической ссылки.
cd
команду - дело команды интерпретировать конечную точку, а не ОС. Например, cd
можно использовать символическую ссылку на каталог, но он не сможет работать с символической ссылкой на обычный файл.
На самом деле, нет. Есть сходство, но только до определенного момента. Я знал людей, которые думали: «Хорошо, символические ссылки похожи на ярлыки, но я их не совсем понимаю» до того момента, когда они говорили: «О, на самом деле символические ссылки не похожи на ярлыки, и теперь я их понимаю». Поэтому я думаю, что ярлыки не являются хорошим способом для понимания символических ссылок, и я рекомендую очистить ваш разум от сравнения с ярлыками.
Символическая ссылка указывает на название другого файла. Это «имя», как и в полном пути, то есть потенциально включает в себя часть каталога, а также имя внутри каталога. Путь может быть абсолютным ( /foo/bar
) или относительным ( foo/bar
или ../bar
или просто bar
); если цель задана относительным путем, она интерпретируется относительно каталога, содержащего символическую ссылку. Целевой файл может существовать или не существовать, и удаление, перемещение или создание целевого файла не повлияет на символическую ссылку.
Операции, которые воздействуют на содержимое файла, действуют на целевой файл. Таким образом, когда вы читаете или записываете в файл по символической ссылке, или выполняете программу по символической ссылке, это как если бы вы обращались к целевому файлу. Операции, которые воздействуют на файл извне, такие как переименование или удаление, действуют на саму символическую ссылку. Обратите внимание, что для записи имеет значение, перезаписываете ли вы существующий файл (который будет действовать на цель) или удаляете существующий файл и создаете новый файл (который оставит цель нетронутой и создаст новый файл, заменяющий символическую ссылку, если только приложение заботится о переходе по ссылке (многие делают)).