Відповіді:
Основна ідея приблизно однакова. Символічне посилання - це спеціальний файл, який містить шлях (відносний або абсолютний) до іншого об’єкта файлової системи. У UNIX / Linux сама ОС обробляє символічне посилання, прозоро вирішуючи реальний об'єкт.
У Маках псевдонім, здається, є спеціальною конструкцією Finder, яка може посилатися на віддалені об'єкти, а також на локальні, але Finder вирішує посилання, а не ОС. MacOS X також має символічні посилання, але вони відокремлені від псевдонімів.
Велика різниця між ярликом Windows та символічним посиланням. Ярлик Windows не може легко замінити програму, оскільки Windows завжди повинен мати ці прикрі розширення файлів, а "lnk" файл не є виконуваним, коли мова йде про Windows. У графічному інтерфейсі він працює, але з точки зору сервера він працює. Те саме з каталогом. Вони корисні, але ніде не мають сили та гнучкості символічного зв’язку.
cd
команду - справа в команді інтерпретувати кінцеву точку, а не ОС. Наприклад, cd
можна використовувати символьне посилання на каталог, але воно буде нормально відмовлено в символьному посиланні на звичайний файл.
Не зовсім. Є схожість, але лише до певного моменту. Я знав людей, які думають, що «добре, посилання - це як ярлики, але я не дуже їх розумію» до тих пір, коли вони сказали «о, насправді символьні посилання не схожі на ярлики, і тепер я їх розумію». Тому я вважаю, що ярлики не є гарним способом зрозуміти символічні посилання, і я рекомендую очистити свою думку від порівняння із ярликами.
Символічне посилання вказує назву іншого файлу. Це "ім'я", як у повному шляху, тобто потенційно включає частину каталогу, а також ім'я всередині каталогу. Шлях може бути абсолютним ( /foo/bar
) або відносним ( foo/bar
або ../bar
чи просто bar
); якщо мета задана відносним шляхом, вона інтерпретується відносно каталогу, що містить символічне посилання. Цільовий файл може бути або не існувати, а видалення, переміщення або створення цільового файлу не вплине на символічне посилання.
Операції, які впливають на вміст файлу, діють на цільовий файл. Таким чином, коли ви читаєте чи записуєте у файл через символічне посилання або виконуєте програму через символічне посилання, це як ніби ви отримуєте доступ до цільового файлу. Операції, які діють над файлом ззовні, такі як перейменування або видалення, діють на самому символьному посиланні. Зауважте, що для запису це має значення, перезаписавши існуючий файл (який буде діяти на ціль) або видалити існуючий файл і створити новий файл (який залишить ціль недоторканим і створить новий файл, що замінить символьне посилання, якщо тільки програма піклується про перехід за посиланням (багато хто робить)).