🐹 CentOS 7: Как создать и искать символические ссылки. Утилита ln.

Содержание:

1. Описание команды.
2. Типы ссылок.
3. Команда ln.
4. Создание символических ссылок.
5. Создание символических ссылок на файлы.
6. Создание ссылок на каталоги.
7. Перезапись символических ссылок.
8. Удаление символических ссылок.
9. Поиск символических ссылок.
10. Оригиналы источников информации.


1. Описание команды.

Символическая ссылка, также известная как symlink или soft link, представляет собой особый тип файла, который указывает на другой файл или каталог.

Подробно о ключах и форматах, которые вы можете использовать можно узнать набрав в консоли команду:

# ln --help

2. Типы ссылок.

В системе CentOS 7 существует два типа ссылок:

2.1. Жесткие ссылки. Вы можете считать жесткую ссылку в качестве дополнительного имени для существующего файла. Жесткие ссылки связывают два или более имени файла с тем же inode. Вы можете создать одну или несколько жестких ссылок для одного файла. Жесткие ссылки не могут быть созданы для каталогов и файлов в другой файловой системе или разделе.

2.2. Мягкие ссылки. Так называемые Soft link – это что-то вроде ярлыка в Windows. Это косвенный указатель на файл или каталог. В отличие от жесткой ссылки, символическая ссылка может указывать на файл или каталог на другой файловой системе или разделе.

3. Команда ln.

Утилита ln для создания связей между файлами. По умолчанию команда ln создает жесткие ссылки. Для создания символических ссылок используйте параметр -s (—symbolic).

Синтаксис команды ln выглядит следующим образом:

# ln [OPTIONS] file_link

Формат команды ln следующий:

# [команда создания ссылки] [ключ] [куда попадем по ссылке] [откуда пойдем по ссылке]

4. Создание символических ссылок.

Чтобы создать символическую ссылку в CentOS 7, откройте свой терминал и введите:

# ln -s source_file symbolic_link

Замените имя source_file существующего файла, для которого вы хотите создать символическую ссылку, и с именем symbolic_link символической ссылки.

Параметр symbolic_link является необязательным. Если вы не укажете символическую ссылку, команда ln создаст новую ссылку прямо в текущем каталоге.

5. Создание символических ссылок на файлы.

В следующем примере мы создаем символическую ссылку, названную my_link.txt в файл с именем my_file.txt:

# ln -s my_file.txt my_link.txt

Чтобы убедиться, что символическая ссылка была создана, используйте команду ls:

# ls -l my_link.txt

Результат будет выглядеть примерно так:

# lrwxrwxrwx l linuxize users 4 Nov 2 23:03 my_link.txt -> my_file.txt

Символ l – это флаг типа файла, представляющий символическую ссылку. Символ -> показывает файл символическая ссылка указывает.

6. Создание ссылок на каталоги.

6.1. Если в названии нет пробелов.

Команда создания символической ссылки на каталог такая же, как при создании символической ссылки на файл. Укажите имя каталога как параметр firs и символическую ссылку в качестве второго параметра.

Например, если вы хотите создать символическую ссылку из каталога /mnt/my_drive/movies в каталог ~/my_movies, который вы запустили:

# ln -s /mnt/my_drive/movies ~/my_movies

6.2. Если в названии есть пробелы.

Если в названии пути есть пробелы, то их необходимо экранировать обратным слешем, допустим у нас есть путь [/sdb/photo/obrabotka/Is my photo], а ссылку мы будем делать из папки [/home/userName] название ссылки [photo], команда будет следующая:

# ln -s /sdb/photo/obrabotka/Is\ my\ photo /home/userName/photo

7. Перезапись символических ссылок.

Если вы попытаетесь создать символическую ссылку, которая уже существует, команда ln выведет сообщение об ошибке.

# ln -s my_file.txt my_link.txt

Ответ:

ln: failed to create symbolic link ‘my_link.txt’: File exists

Чтобы переписать путь назначения символической ссылки, используйте опцию -f ( —force).

# ln -sf my_file.txt my_link.txt

8. Удаление символических ссылок.

Вы можете удалить существующую символическую ссылку с помощью команды unlink или rm.

Синтаксис команды unlink очень прост:

# unlink symlink_to_remove

Удаление символической ссылки с помощью команды rm аналогично удалению файла:

# rm symlink_to_remove

Вы должны использовать утилиту unlink для удаления символической ссылки.

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

9. Поиск символических ссылок.

Чтобы найти все символические ссылки, например на /etc/sysctl.conf, используйте следующую команду:

# find /путь_к_директории_начала_поиска -lname /путь_к_файлу
# find / -lname /etc/sysctl.conf

В данном примере, ‘/путь_к_файлу‘ это символическая ссылка, содержащая совпадения shell шаблона.

10. Оригиналы источников информации.

  1. andreyex.ru «Как создать символические ссылки в Linux с помощью команды ln».
  2. nagg.ru «Поиск символических ссылок в UNIX/LINUX».
  3. elblaus.ru «Как создать символическую ссылку на папку, файл».

Читайте также: