Створюємо символічні посилання (symbolic link) в windows

Не так давно мені знадобилося створити символічні посилання. До цього моменту я приблизно уявляв що це таке, але не разу не стикався з необхідністю їх використовувати.

Вікіпедія видає ось таке визначення:

Навіщо вони мені потрібні

Один з наших робочих сайтів працює під управлінням CMS Bitrix. Працює і працює, нарікань майже немає. Ми вирішили створити ще один сайт на Bitrix, використовуючи мультісайтового. Обидва сайти повинні були утримувати свій контент, відповідати на різні імена, але використовувати одну базу даних, а також єдину адмінку.

Одним із кроків у налагодженні такої системи було створення в кореневій директорії віртуального сервера символічних посилань на папки з ядром Бітрікс. Тут-то мені і довелося познайомитися з симлінк.

ставимо завдання

У тій же статті з вікіпедії описані консольні команди, які вирішують цю проблему.

Команда linkd призначена для створення символьних зв'язків (junction points) в системах підтримують NTFS. Щоб дана команда працювала необхідно встановити Microsoft Windows Resource Kit, що не є добре.

Команда mklink була додана в Windows Vista, є також в Windows 7. Вона створює символічні посилання. Здавалося б, це що потрібно, але є одне але.

Використовувати консоль кожен раз, коли потрібно створити або видалити символічне посилання це доля линуксоидов. Було вирішено шукати програму для створення симлінк зі зрозумілим інтерфейсом.

Вимоги до шуканої програмі були такі:

  1. вміння створювати символічні посилання
  2. можливість переглядати наявність симлінк
  3. правильне видалення символічних посилань, що не зачіпає папку-джерело

вирішуємо проблему

Дуже багато програм вимагали перезавантаження після установки. На домашньому комп'ютері це лише невелика незручність. Але при установці подібних програм на сервер обслуговуючий кілька сайтів перезавантаження системи неприпустима.

Методом проб і помилок на одному сайті була знайдена дуже корисна програма Alax.Info NTFS Links. яка реалізує весь необхідний функціонал і не вимагає перезавантаження.

Ця програма вбудовується в контекстне меню Windows і дозволяє створювати символічні посилання простим перенесенням папки правою кнопкою миші.

Створюємо символічні посилання (symbolic link) в windows

Новий пункт у випадаючому меню

У властивостях папки додається нова вкладка - junction points. На ній відображаються всі наявні в папці символічні посилання. Це дуже зручно, тому що у звичайних ярликів і симлінк однакові іконки.

Створюємо символічні посилання (symbolic link) в windows

Нова закладка у властивостях папки

Програма коректно створює і правильно видаляє посилання. Перевірено. Завантажити її можна за цим посиланням.

Навіщо ще мені потрібні символічні посилання

Налаштування Бітрікс це не єдине, для чого мені стали в нагоді символічні посилання.

На деяких сайтах є розділи з документами. Цих документів дуже багато і вони часто оновлюються. При цьому заливати їх потрібно все разом.

Робити це засобами CMS дуже довго. Простіше зайти через SFTP і залити все руками. Ось тут і прігождаются символічні посилання.

Я створив посилання на часто оновлювані папки у стартовій директорії файлового менеджера Bitvice SFTP. Тепер, заходячи в файловий менеджер для завантаження файлів, я можу відразу ж приступити до завантаження документів в будь-яку необхідну папку не затрачаючи дорогоцінний час на перехід за тек сервера.

Це дуже прискорює роботу.

В директорії% WinDir% \ System32 можна створити текстовий файл. У нього вписати ім'я файлу, який необхідно запустити. Після цього потрібно зберегти файл з розширенням * .bat. Саме таким способом я користувався, коли мені потрібно було було швиденько запускати javac. На початку користувався змінними середовищами, тобто для запуску компілятора в командному рядку треба було вводити «% javac%«. Але мені це швидко набридло і я використав спосіб, описаний вище.

Просто перетягніть папку правою кнопкою миші мишкою (або з затиснутою клавішею Ctrl). І з'явиться контекстне меню в якому буде пункт як на першій картинці

Я це зрозуміла, але який з цих пунктів вибрати, щоб створити саме «символьне посилання», а не ярлик і не жорстке посилання, і не junction points в контекстному меню?