Символические ссылки в Linux — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
 
(не показано 6 промежуточных версий этого же участника)
Строка 2: Строка 2:
  
 
== Что такое символическая ссылка (или симлинк)? ==
 
== Что такое символическая ссылка (или симлинк)? ==
Допустим, у вас есть директории («папки»): <br>
+
Допустим, у вас есть директории («папки»): <br />
/home/user/Dir1 <br>
+
/home/user/Dir1 <br />
/home/user/Dir2 <br>
+
/home/user/Dir2 <br />
  
 
Но вы хотите, чтобы папка /home/user/Dir2 открывалась по адресу /home/user/Dir1/Dir2, но при этом продолжала работать по своему основному адресу /home/user/Dir2. Таким образом, файл с адресом /home/user/Dir2/file.txt будет доступен и по нему, и по адресу /home/user/Dir1/Dir2/file.txt ! аналогично для остальных вложенных файлов и директорий.
 
Но вы хотите, чтобы папка /home/user/Dir2 открывалась по адресу /home/user/Dir1/Dir2, но при этом продолжала работать по своему основному адресу /home/user/Dir2. Таким образом, файл с адресом /home/user/Dir2/file.txt будет доступен и по нему, и по адресу /home/user/Dir1/Dir2/file.txt ! аналогично для остальных вложенных файлов и директорий.
  
На практике это может пригодиться много где. Допустим, клиенты Яндекс.Диска, Облака Mail.Ru, Baidu Pan ([https://github.com/houtianze/bypy bypy]) умеют выполнять синхронизацию с учетом символических ссылок. Например, Яндекс.Диск настроен на синхронизацию папки ~/Yandex.Disk с непосредственно Яндекс.Диском. Но вы хотите
+
На практике это может пригодиться много где. Допустим, клиенты Яндекс.Диска, Облака Mail.Ru, Baidu Pan ([https://github.com/houtianze/bypy bypy]) умеют выполнять синхронизацию с учетом символических ссылок. Например, Яндекс.Диск настроен на синхронизацию папки ~/Yandex.Disk (~ — это Домашняя папка) с непосредственно Яндекс.Диском. Но вы хотите, чтобы «облачное» хранилище синхронизировало («всасывало») в себя директорию, которая находится абсолютно в другом месте, чем та, которую оно синхронизирует по умолчанию. Достаточно создать внутри директории, которую синхронизирует ваше «облако» символическую ссылку на директорию, которую нужно «всосать». Например, <br>
 +
  ln -s "~/Yandex.Disk/Думалогия" "/media/oblako/ГОТОВОЕ/Думалогия"
 +
то есть создать символическую ссылку "Думалогия" внутри "Домашняя папка/Yandex.Disk". Тогда по адресу ~/Yandex.Disk/Думалогия будет доступно содержимое папки /media/oblako/ГОТОВОЕ/Думалогия. Таким образом, Яндекс.Диск (или другое облачное хранилище, умеющее работать с симлинками, "всосет" в себя содержимое папки /media/oblako/ГОТОВОЕ/Думалогия.
  
 
== Создание символических ссылок в графическом интерфейсе файлового менеджера Thunar в среде рабочего стола XFCE ==
 
== Создание символических ссылок в графическом интерфейсе файлового менеджера Thunar в среде рабочего стола XFCE ==
1. Открыть файловый менеджер, дойти до папки, '''на''' которую будем создавать символическую ссылку.<br>
+
1. Открыть файловый менеджер, дойти до папки, '''на''' которую будем создавать символическую ссылку.<br />
2. Выделить директорию (папку) или файл, на которую будем создавать симлинк.<br>
+
2. Выделить директорию (папку) или файл, на которую будем создавать симлинк.<br />
3. В меню «Правка» выбрать «Создать ссылку».<br>
+
3. В меню «Правка» выбрать «Создать ссылку».<br />
 
[[Файл:Снимок_экрана_2016-05-22_12-01-06.png]]
 
[[Файл:Снимок_экрана_2016-05-22_12-01-06.png]]
4. Создастся объект "ссылка на...", который будет в списке файлов и директорий. <br>
+
4. Создастся объект «ссылка на…», который будет в списке файлов и директорий. <br /> Можно переименовать.
5. Вырезаем его: нажимаем на него правой мышью и выбираем "Вырезать" или нажимаем Ctrl+X.<br>
+
5. Вырезаем его: нажимаем на него правой мышью и выбираем «Вырезать» или нажимаем Ctrl+X.<br />
6. Вставляем в нужное место.<br>
+
6. Вставляем в нужное место.<br />
7. Открываем его в месте, куда мы его вставили, и наблюдаем за адресной строкой файлового менеджера. Проверяем, что все работает. как и написано выше.<br>
+
7. Открываем его в месте, куда мы его вставили, и наблюдаем за адресной строкой файлового менеджера. Проверяем, что все работает. как и написано выше.<br />
  
 
== Создание символических ссылок в графическом интерфейсе файлового менеджера Dolphin в среде рабочего стола KDE ==
 
== Создание символических ссылок в графическом интерфейсе файлового менеджера Dolphin в среде рабочего стола KDE ==
1. Открыть файловый менеджер.<br>
+
1. Открыть файловый менеджер.<br />
2. Открыть папку, '''в''' которой будем создавать символическую ссылку на другую папку.<br>
+
2. Открыть папку, '''в''' которой будем создавать символическую ссылку на другую папку.<br />
3. Правой кнопкой мыши нажимаем в свободное место, выбираем "Создать" ---> "Символическая ссылка". В открывшемся окошке указываем или выбираем с помощью кнопки открытия файлового диалога адрес, '''на''' который будем ссылаться. <br>
+
3. Правой кнопкой мыши нажимаем в свободное место, выбираем «Создать» ——> «Символическая ссылка». В открывшемся окошке указываем или выбираем с помощью кнопки открытия файлового диалога адрес, '''на''' который будем ссылаться. <br />
4. Проверяем работоспособность.<br>
+
4. Проверяем работоспособность.<br />
 
[[Файл:Снимок экрана 2016-05-22 12-10-15.png]]
 
[[Файл:Снимок экрана 2016-05-22 12-10-15.png]]
  
 
== Создание символической ссылки через терминал ==
 
== Создание символической ссылки через терминал ==
 
   ln -s "путь1" "путь2"
 
   ln -s "путь1" "путь2"
путь1 - что ссылаем, путь2 - куда ссылаем.<br>
+
путь1 — что ссылаем, путь2 — куда ссылаем.<br />
Если в графическом файловом менеджере скопировать файл или директорию. то при вставке в текстовое поле вставится полный путь внутри вашей файловой системы к скопированному объекту.
+
Если в графическом файловом менеджере скопировать файл или директорию. то при вставке в текстовое поле вставится полный путь внутри вашей файловой системы к скопированному объекту.<br />
[[Категория:Документация]]
+
 
[[Участник:Mikhailnov|Михаил Н.]] ([[Обсуждение участника:Mikhailnov|обсуждение]]) 13:17, 22 мая 2016 (MSK)
+
То есть открываете блокнот (текстовый редактор любой), вставляете туда скопированные пути в эту команду, которую заранее копируете и вставляете, затем получившуюся команду копируете в терминал.
 +
[[Категория:Документация]]<br />
 +
[[Участник:Mikhailnov|Михаил Н.]] ([[Обсуждение участника:Mikhailnov|обсуждение]]) 13:17, 22 мая 2016 (MSK)<br />

Текущая версия на 02:32, 22 сентября 2020

В операционной системе Linux есть такой замечательный и широко используемый инструмент, как символические ссылки. Поговорим, как их создавать в XFCE (Thunar), KDE (Dolphin), через терминал.

Что такое символическая ссылка (или симлинк)?

Допустим, у вас есть директории («папки»):
/home/user/Dir1
/home/user/Dir2

Но вы хотите, чтобы папка /home/user/Dir2 открывалась по адресу /home/user/Dir1/Dir2, но при этом продолжала работать по своему основному адресу /home/user/Dir2. Таким образом, файл с адресом /home/user/Dir2/file.txt будет доступен и по нему, и по адресу /home/user/Dir1/Dir2/file.txt ! аналогично для остальных вложенных файлов и директорий.

На практике это может пригодиться много где. Допустим, клиенты Яндекс.Диска, Облака Mail.Ru, Baidu Pan (bypy) умеют выполнять синхронизацию с учетом символических ссылок. Например, Яндекс.Диск настроен на синхронизацию папки ~/Yandex.Disk (~ — это Домашняя папка) с непосредственно Яндекс.Диском. Но вы хотите, чтобы «облачное» хранилище синхронизировало («всасывало») в себя директорию, которая находится абсолютно в другом месте, чем та, которую оно синхронизирует по умолчанию. Достаточно создать внутри директории, которую синхронизирует ваше «облако» символическую ссылку на директорию, которую нужно «всосать». Например,

 ln -s "~/Yandex.Disk/Думалогия" "/media/oblako/ГОТОВОЕ/Думалогия"

то есть создать символическую ссылку "Думалогия" внутри "Домашняя папка/Yandex.Disk". Тогда по адресу ~/Yandex.Disk/Думалогия будет доступно содержимое папки /media/oblako/ГОТОВОЕ/Думалогия. Таким образом, Яндекс.Диск (или другое облачное хранилище, умеющее работать с симлинками, "всосет" в себя содержимое папки /media/oblako/ГОТОВОЕ/Думалогия.

Создание символических ссылок в графическом интерфейсе файлового менеджера Thunar в среде рабочего стола XFCE

1. Открыть файловый менеджер, дойти до папки, на которую будем создавать символическую ссылку.
2. Выделить директорию (папку) или файл, на которую будем создавать симлинк.
3. В меню «Правка» выбрать «Создать ссылку».
Снимок экрана 2016-05-22 12-01-06.png 4. Создастся объект «ссылка на…», который будет в списке файлов и директорий.
Можно переименовать. 5. Вырезаем его: нажимаем на него правой мышью и выбираем «Вырезать» или нажимаем Ctrl+X.
6. Вставляем в нужное место.
7. Открываем его в месте, куда мы его вставили, и наблюдаем за адресной строкой файлового менеджера. Проверяем, что все работает. как и написано выше.

Создание символических ссылок в графическом интерфейсе файлового менеджера Dolphin в среде рабочего стола KDE

1. Открыть файловый менеджер.
2. Открыть папку, в которой будем создавать символическую ссылку на другую папку.
3. Правой кнопкой мыши нажимаем в свободное место, выбираем «Создать» ——> «Символическая ссылка». В открывшемся окошке указываем или выбираем с помощью кнопки открытия файлового диалога адрес, на который будем ссылаться.
4. Проверяем работоспособность.
Снимок экрана 2016-05-22 12-10-15.png

Создание символической ссылки через терминал

 ln -s "путь1" "путь2"

путь1 — что ссылаем, путь2 — куда ссылаем.
Если в графическом файловом менеджере скопировать файл или директорию. то при вставке в текстовое поле вставится полный путь внутри вашей файловой системы к скопированному объекту.

То есть открываете блокнот (текстовый редактор любой), вставляете туда скопированные пути в эту команду, которую заранее копируете и вставляете, затем получившуюся команду копируете в терминал.
Михаил Н. (обсуждение) 13:17, 22 мая 2016 (MSK)