Как использовать символические ссылки в Linux (и почему это следует делать)
Символические ссылки помогают сделать файловую систему Linux более гибкой, а работу пользователя — еще проще.
У Linux есть много хитростей. Один из таких трюков делает файловую систему гораздо более гибкой, чем вы можете себе представить. Эта функция называется символическими ссылками, также известными как символические ссылки.
Чтобы объяснить, как работает эта функция, давайте воспользуемся примером конкретной папки в вашем домашнем каталоге. Папка, о которой идет речь, — «Музыка». Папка «Музыка» обычно создается по умолчанию в большинстве современных дистрибутивов Linux и служит именно той цели, которую вы думаете — хранению музыкальных файлов.
У меня есть диск, на котором хранится обширная коллекция цифровых музыкальных файлов, хранившихся у меня в течение многих лет, которые по мере необходимости переносились с диска на диск. Если бы я скопировал все эти файлы и подпапки в каталог «Музыка» на диске, на котором установлена моя операционная система, у меня были бы проблемы, потому что этот диск мгновенно переполнился бы.
Конечно, вы можете получить доступ ко всем этим музыкальным файлам с диска, на котором они находятся. В моем случае это будет /media/jack/OLIVIA/Music (я называю диски и имена хостов в честь персонажей из своих книг). Эта ссылка работает, но она не так эффективна, как ~/Music. Поэтому я создаю символическую ссылку, чтобы упростить задачу.
По сути, символическая ссылка указывает из одного каталога в другой. Давайте продолжим наш пример с музыкой. Если я создаю в каталоге /home/jack символическую ссылку, указывающую на целевой каталог /media/jack/OLIVIA/Music, любой файл, который я добавляю в ~/Music, сохраняется в целевом каталоге.
Любой файл, который я добавляю в целевой каталог, автоматически доступен по символической ссылке. Другими словами, то, что вы видите в ~/Music, то же самое, что и в /media/jack/OLIVIA/Music. Единственное отличие состоит в том, что файлы существуют только в последнем месте.
Существует два типа символических ссылок:
- Жесткие ссылки — указывают на индексный дескриптор файла, а не на сам файл.
- Мягкие ссылки — указывают на файл.
Мы сосредоточимся на программных ссылках, потому что именно они понадобятся большинству пользователей.
Как создать символическую ссылку в Linux
Что вам понадобится: Единственное, что вам понадобится для этого трюка, — это работающий экземпляр Linux, поскольку каждый дистрибутив может работать с символическими ссылками.
Я продемонстрирую этот процесс на примере выше (привязка ~/Music к другому разделу).
1. Откройте окно терминала.
Войдите в свою операционную систему и откройте приложение окна терминала по умолчанию.
2. Переименуйте текущую папку.
Переименуйте текущую папку «Музыка» в вашем домашнем каталоге. Для этого введите команду:
mv ~/Music ~/Music_OLD
3. Создайте ссылку
Далее мы создадим ссылку. Помните, я создаю ссылку на /media/jack/OLIVIA/Music, и ваша ссылка будет указывать на другую папку в вашей файловой системе. Для моей ссылки команда будет такой:
ln -s /media/jack/OLIVIA/Music ~/Music
Обратите внимание, что нам не нужно создавать каталог ~/Music. Если бы мы создали каталог ~/Music, символическая ссылка появилась бы внутри этого каталога и была бы ~/Music/Music. Мы не хотим, чтобы это произошло, поэтому позволим команде ln выполнить всю работу.
4. Переместите оставшиеся файлы
Если вы сохранили какие-либо музыкальные файлы в исходной папке ~/Music, вам нужно переместить файлы в новый связанный каталог, который переместит их в целевой каталог с помощью команды:
mv ~/Music_OLD/* ~/Music
Теперь все должно находиться в одном месте, а не на одном диске, на котором находится ваша ОС.
Такой подход означает, что вам не хватит места и это не приведет к зависанию операционной системы.
Если в какой-то момент вы захотите удалить символическую ссылку, вы сделаете это так же, как если бы вы удалили папку. В случае нашего примера это будет:
rm -rf ~/Music
Удалив символическую ссылку, вы не повредите целевой каталог.
И это все, что нужно для использования символических ссылок в Linux. Используйте эти ссылки, чтобы сделать взаимодействие с вашей файловой системой более эффективным.