Есть два типа символических ссылок, жесткие ссылки а также мягкие ссылки. Команду ln можно использовать для создания как жестких, так и программных ссылок.
Жесткие ссылки:
Это просто другое название того же файла. Вы также можете назвать это псевдонимом. Жесткие ссылки имеют тот же номер inode, что и исходный файл. Таким образом, они на самом деле ничем не отличаются от исходного файла, другое имя имеет другое имя.
Жесткие ссылки имеют некоторые ограничения.
- Жесткие ссылки не могут быть созданы для каталогов. Он может быть создан только для файлов.
- Жесткая ссылка файла, находящегося в файловой системе, не может быть создана в другой файловой системе.
- Жесткая ссылка, находящаяся в разделе, не может быть создана в другом разделе или на другом устройстве хранения.
Мягкие ссылки:
Мягкие ссылки в основном преодолевают ограничения жестких ссылок. Вы можете создавать программные ссылки файлов и каталогов. Программные ссылки могут указывать на файлы и каталоги, находящиеся в разных файловых системах. Программные ссылки также могут указывать на файлы и каталоги, находящиеся в разных разделах и на разных устройствах хранения, даже на сетевые подключения.
В отличие от жестких ссылок, мягкие ссылки имеют собственные номера inode. Таким образом, это разные файлы или каталоги, чем исходные файлы или каталоги.
Недостатком программных ссылок является то, что если исходный файл или каталог переименовывается, перемещается или удаляется, ссылка не работает. В этом случае вам придется переделывать ссылку вручную.
Команда ln по умолчанию доступна в каждом дистрибутиве Linux. Таким образом, вам не нужно устанавливать его отдельно.
В этой статье я покажу вам, как использовать команду Linux ln для создания программных и жестких символических ссылок. Я также покажу вам, как управлять программными и жесткими символическими ссылками, созданными с помощью команды ln. Итак, приступим.
Создание и удаление жесткой символической ссылки:
Чтобы сделать жесткую ссылку на файл (скажем, контрольная работа.текст) выполните следующую команду:
$ ln тест.txt test_hl.текст
ПРИМЕЧАНИЕ: Здесь, test_hl.текст жесткая ссылка на файл контрольная работа.текст.
Теперь, если вы проверите номер inode (33577665 в моем случае) файлов контрольная работа.текст а также test_hl.текст, вы обнаружите, что оба файла имеют одинаковые номера inode. Это ожидается, поскольку мы создали жесткую ссылку на файл контрольная работа.текст. Итак, ссылка на файл test_hl.текст также имеет тот же номер inode, что и контрольная работа.текст файл.
$ ls -li
Номер 2 здесь похоже на общее количество файлов с одинаковым номером inode. В нашем случае у нас есть 2 файла с одинаковым номером inode.
Если хотите, вы можете поместить жесткую ссылку в другой каталог, а также следующим образом:
$ ln тест.txt / dir1 / dir2 / test_hl.текстЧтобы удалить жесткую ссылку test_hl.текст, выполните следующую команду:
$ unlink test_hl.текст
Как видите, test_hl.текст жесткая ссылка больше не указана.
Создание и удаление программных ссылок:
Чтобы создать мягкую ссылку на файл контрольная работа.текст, выполните следующую команду:
$ ln -s тест.txt test_sl.текст
Как видите, софт-ссылка test_sl.текст файла test.txt создан. В листинге ls программная ссылка использует -> знак, чтобы показать ссылку на исходный файл. Также обратите внимание, что номера inode исходного файла контрольная работа.текст (33577665) и софт линк test_sl.текст (33577676) разный.
Вы также можете делать софт-ссылки каталогов.
Например, сделать софт-ссылку каталога /так далее, запустите команду ln следующим образом:
$ ln -s / etc конфигурация
Как видите, софт-ссылка config каталога /так далее создано.
Вы также можете поместить мягкую ссылку на файл или каталог в другой каталог. Для этого запустите команду ln следующим образом:
$ ln -s тест.txt / dir1 / dir2 / test_sl.текстИли же
$ ln -s каталог_тест / каталог1 / каталог2 / каталог_тест_слМожно удалить софт ссылку test_sl.txt следующим образом:
$ unlink test_sl.текст
Обновление программных ссылок:
Иногда вы можете удалить исходный файл или каталог, не удаляя программную ссылку. Программная ссылка останется неработающей. Или вы могли по ошибке создать мягкую ссылку не на тот файл или каталог.
В обоих случаях вы можете очень легко обновить программную ссылку с помощью -ж опция команды ln.
Допустим, вы хотите обновить софт ссылку test_sl.текст и свяжите его с новым файлом Привет.текст.
Для этого выполните следующую команду:
$ ln -sf привет.txt test_sl.текстКак видите, софт ссылка обновлена.
Таким же образом вы можете обновить программные ссылки на каталог или файлы в другом каталоге.
Итак, вот как вы используете команду Linux ln для создания программных и жестких символических ссылок. Спасибо, что прочитали эту статью.