как создать ссылку на каталог в linux

Что Такое Символическая Ссылка и Как Создать Симлинк в Linux

как создать ссылку на каталог в linux

Команды Linux, связанные с символическими ссылками, прекрасно дополнят ваш инструментарий для работы в терминале. В этом руководстве мы рассмотрим несколько быстрых и простых команд. Но прежде чем мы начнём, давайте разберёмся, что же такое символическая ссылка.

Что Такое Символическая Ссылка?

Символические ссылки служат не только для создания ярлыков и управления файлами в операционной системе Linux. Они также создают место под основные пользовательские папки, такие как «Документы», «Изображения», «Загрузки» и другие.

Символические ссылки позволяют создавать и хранить несколько файлов в разных местах компьютерной системы, при этом вести к ним будет один файл. Такой принцип работы напоминает ярлыки в Windows. Символическая ссылка повышает общую продуктивность работы, поскольку предоставляет доступ к документам одной командой.

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

Функции Linux настолько удобны, что даже Microsoft перенял их практику создания символических ссылок. Однако символическая ссылка, также известная как мягкая ссылка, или симлинк, не является уникальным явлением, характерным исключительно Linux. Они напоминают поиск в Windows, когда для того, чтобы найти файл или каталог, пользователь выполняет различные команды.

Как Создать Символическую Ссылку в Linux

Итак, давайте разберёмся, как создать символические ссылки на файлы и папки в Linux.

Символическая Ссылка Linux на Файлы

Команда ln в Linux создает ссылки между исходными файлами и каталогами.

Проверить создалась ли ссылка можно с помощью команды вывода подробного списка содержимого каталога:

Однако, если вы не укажете [имя символической ссылки], команда автоматически создаст новую ссылку в существующем каталоге.

Символическая Ссылка Linux на Папки

Создать символическую ссылку на каталог тоже довольно просто. Синтаксис команды для создания символической ссылки на папку похож на команду для создания ссылки на файл:

Опции символических ссылок называются переключателями командной строки. Вот наиболее распространённые из них и их описания:

Как Изменить или Удалить Символическую Ссылку в Linux?

Вы можете удалить существующие ссылки, прикреплённые к файлам или каталогам, с помощью команды unlink или rm. Вот как вы можете сделать это с помощью команды unlink:

Аналогичным образом удаляем символическую ссылку с помощью команды rm:

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

Итоги

Linux — замечательная платформа для разработки интерактивного и динамичного приложения, где вы можете экспериментировать и пробовать что-то новое. Но для этого вам нужна прочная база. Изучите основы языка, чтобы использовать весь потенциал платформы.

В этом руководстве вы узнали, что такое символическая ссылка и как её использовать. Это лишь азы, продолжайте учиться, чтобы освоить ещё много полезных инструментов!

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

Как создать символическую ссылку для каталога в Linux

Главное меню » Linux » Как создать символическую ссылку для каталога в Linux

как создать ссылку на каталог в linux

Жесткие ссылки: Жесткие ссылки – это ссылки, которые отражают или копируют исходный файл. Жесткие ссылки имеют одинаковые номера inode.

Программные ссылки: Мягкие ссылки – это простые ссылки, указывающие на исходный файл. Вы можете получить доступ к исходному файлу с помощью программных ссылок. Программные ссылки могут указывать на файл или папку в любом разделе и иметь разные номера inode.

Изучение создания символической ссылки в Linux – отличный способ улучшить работу с терминалом Linux. Итак, давайте изучим шаги, необходимые для создания программных ссылок в Linux.

Как создать символическую ссылку (софт-ссылку) в Linux

Чтобы создать символическую ссылку или мягкую ссылку, мы используем команду ln. Ниже приведен синтаксис для создания символической ссылки:

В первом аргументе после опции «-s» вы укажете путь к файлу папки, для которой вы хотите создать символическую ссылку. Во втором аргументе передайте имя, которое вы хотите присвоить этой символической ссылке. Чтобы проверить созданные ссылки, используйте следующую команду:

Чтобы проверить номера inode, используйте команду, указанную ниже:

Как создать символическую ссылку (мягкую ссылку) на файл

Создать мягкую ссылку на файл просто; используйте синтаксис, указанный ниже:

Важно отметить, что если вы не укажете «[символическое имя]», то команда создаст символическую ссылку по имени исходного файла. Давайте разберемся в этом на примере.

Мы создали каталог «my_folder», содержащий текстовый файл «my_doc.txt». Теперь, чтобы создать символическую ссылку на файл «my_doc.txt», мы будем использовать:

Чтобы проверить это, используйте:

Как видно из вышеприведенного вывода, «my_document» указывает на файл «my_folder/my_doc.txt». И символическая ссылка, и исходный файл будут иметь разные номера inode. Чтобы проверить используемые номера inode:

Жесткие ссылки всегда будут иметь одинаковые номера inode. Для проверки мы создали жесткую ссылку на файл «my_doc.txt» и назвал его «my_document_2»:

Из вывода видно, что исходный файл и жесткая ссылка имеют одинаковые номера inode.

Как создать символическую ссылку (мягкую ссылку) папки/каталога

Создание мягкой ссылки или символической ссылки на каталог очень похоже на создание символической ссылки на файл. Например, мы создаем символическую ссылку на каталог «my_folder», используя:

Приведенная выше команда создаст папку с символической ссылкой в ​​текущем каталоге. Чтобы проверить это, используйте:

Теперь проверьте номера inode:

Как перезаписать символическую ссылку (мягкую ссылку) в Linux:

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

Нам нужно будет использовать принудительный флаг «-f», чтобы перезаписать новый путь к существующей символической ссылке.

Как удалить Symlink (Soft Link) в Linux:

Во многих случаях вам необходимо удалить ненужные символические ссылки из вашей системы. Чтобы удалить символическую ссылку, мы используем команду «unlink», синтаксис которой приведен ниже:

Давайте удалим символические ссылки, которые мы создали в приведенных выше примерах. Чтобы отключить символическую ссылку файла, используйте:

И чтобы отключить символическую ссылку каталога:

Мы также можем использовать команду «rm» для удаления символических ссылок.

Преимущество «rm» перед «unlink» состоит в том, что вы можете удалить несколько символических ссылок с помощью команды «rm», что невозможно с помощью команды «unlink».

Обратите внимание, что независимо от того, используете ли вы команду «unlink» или «rm», не используйте завершающую косую черту «/», даже если это каталог.

Заключение

Символические ссылки – это более простой способ получить доступ к файлам вашей системы из разных мест. Эта статья представляет собой подробное руководство по созданию символических ссылок на файл или каталог и их удалению. Удалите символические ссылки, если исходный файл больше не существует.

Понимание и освоение терминала Linux очень важно для любого новичка. Мы надеемся, что этот пост помог вам изучить новую утилиту и улучшить свои навыки.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Символические и жесткие ссылки в Linux. Команда ln

как создать ссылку на каталог в linux
Что такое символические и жесткие ссылки в Linux. Чем они отличаются. Как создавать ссылки. Использование команды ln.

Что такое ссылка на файл в Linux

Ссылка на файл в Linux — это указатель на файл. Если проводить аналогию с Windows, то ссылки чем-то похожи на ярлыки. То есть вы создаете ссылку, которая указывает на какой-либо файл или директорию, и можете разместить эту ссылку в другом каталоге. Обращаясь к такой ссылке, вы будете обращаться к настоящему файлу или каталогу.

Ссылки в Linux бывают двух типов: символические и жесткие. Не смотря на то, что оба типа называются ссылками, они имеют существенные отличия друг от друга. Поэтому очень важно понимать, как создавать и использовать тот или иной тип ссылок.

Что такое символические ссылки

Символическая ссылка (symbolic link) — это специальный файл, который является ссылкой на другой файл или каталог (их еще называют целевым файлом, целевым каталогом).

Символические ссылки также называют символьными, мягкими ссылками (soft links) или сим-ссылками (sym-link).

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

Возвращаясь к аналогии с ярлыками в Windows, символические ссылки это своего рода ярлыки на файлы. Можно создавать несколько символических ссылок на один файл и эти ссылки могут иметь разные имена.

Связь между символической ссылкой и файлом, на который она указывает, является «мягкой». Если удалить символическую ссылку, то файл, на который она указывает, не удаляется.

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

При создании символических ссылок можно указывать относительный путь до целевого файла. В таком случае ссылка считает, что относительный путь указан относительно каталога, в котором создана сама ссылка (но не относительно каталога, из которого она была создана).

Схематично отношение между файлом, символической ссылкой и данными, которые хранятся в файле, можно показать следующим образом:
как создать ссылку на каталог в linux

Что такое жесткие ссылки

Жесткая ссылка (hard link) является своего рода синонимом для существующего файла. Когда вы создаете жесткую ссылку, создается дополнительный указатель на существующий файл, но не копия файла.

Жесткие ссылки выглядят в файловой структуре как еще один файл. Если вы создаете жесткую ссылку в том же каталоге, где находится целевой файл, то они должны иметь разные имена. Жесткая ссылка на файл должна находится в той же файловой системе, где и другие жесткие ссылки на этот файл.

Жесткие ссылки нельзя создавать для директорий.

Жесткая ссылка не может указывать на несуществующий файл.

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

Схематично отношение между исходным файлом, жесткой ссылкой и данными можно показать следующей схемой:
как создать ссылку на каталог в linux

Отличия символических ссылок от жестких

Кратко подведем итог, написанного выше.

Символическая ссылка:

Жесткая ссылка:

Как создавать ссылки в Linux. Команда ln

Для создания ссылок в Linux используется команда ln (от слова link).

Синтаксис команды ln :

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

Например, создадим в текущем каталоге символическую ссылку с именем mylink на файл /home/pingvinus/myfile :

Обратите внимание, что ссылка и целевой файл имеют разные inode (792300 и 787622. См. число в начале строки).

Если теперь удалить целевой файл, а затем попробовать просмотреть его содержимое, используя ссылку, то получим сообщение о том, что файл не найден:

Пример создания и использования символьной ссылки (при создании ссылки используется относительный путь до целевого файла, если такую ссылку переместить, то она будет невалидна):
как создать ссылку на каталог в linux

Создание жестких ссылок

Например, создадим жесткую ссылку с именем hardlinktofile на файл myfile.txt :

Выведем список файлов:

Можно заметить, что hardlinktofile и myfile.txt имеют одинаковый inode=787622, так как являются фактически разными именами для одного файла (inode которого 787622).

Также видно, что на данный inode имеется 2 ссылки (см. цифру 2 в 3-м столбце). Если мы удалим исходный файл, то количество ссылок на него уменьшается на 1, то есть на самом деле файл не удаляется, так как на него больше, чем 1 ссылка. И мы по прежнему можем работать с файлом по имени hardlinktofile.

Обратите внимание, что после выполнения команды rm, количество ссылок на файл стало равно 1.

Пример создания и использования жесткой ссылки:
как создать ссылку на каталог в linux

Как удалить ссылку

Ссылки, как и обычные файлы, можно удалять, используя команду rm :

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

Ссылка создается в том же каталоге, где находится целевой файл. После создания ссылку можно переместить в другой каталог.

Резюме

Источник

Основы Linux от основателя Gentoo. Часть 1 (3/4): Ссылки, а также удаление файлов и директорий

Третий отрывок из перевода первой части руководства. Предыдущие: первый, второй.

В этом отрывке рассмотрены жесткие и символические ссылки, а также разобрано удаление файлов и директорий с помощью команд rm и rmdir.

Создание ссылок и удаление файлов

Жесткие ссылки

Мы уже упоминали термин «ссылка», когда рассказывали о взаимоотношениях между директориями (их именами) и инодами (индексным номерами, лежащими в основе файловой системы, которых мы не замечаем). Вообще в Linux существует два типа ссылок. Тип, о котором мы уже говорили ранее, называется «жесткие ссылки». Каждый инод может иметь произвольное число жестких ссылок. Когда уничтожается последняя жесткая ссылка, и не одна программа не держит файл открытым, то Linux автоматически удаляет его. Новые жесткие ссылки можно создать воспользовавшись командой ln:

Как видите, жесткие ссылки работают на уровне инодов, для указания конкретного файла. В Linux системах, для жестких ссылок есть несколько ограничений. В частности, можно создавать жесткие ссылки только на файлы, не на директории. Да-да, именно так; хотя «.» и «..» являются созданными системой жесткими ссылками на директории, вам (даже от имени пользователя «root») не разрешается создавать любые свои собственные. Второе ограничение жестких ссылок состоит в том, что нельзя связать ими несколько файловых систем. Это значит, что у вас не получится создать жесткую ссылку с /usr/bin/bash на /bin/bash и если ваши директории / и /usr находятся в разных файловых системах (разделах — прим. пер.).

Символьные ссылки

В практике, символьные ссылки (или символические, иногда «симлинки» — от англ.) используются гораздо чаще, чем жесткие. Симлинки — это файлы особого типа, которые ссылаются на другие файлы по имени, а не прямо по номеру инода. Они не спасают файлы от удаления; если файл, на который указывает ссылка, исчезает, то симлинк перестает работать, ломается.

Симлинки детально

Символические ссылки в целом более гибкие, чем жесткие. Вы можете создавать символьные ссылки на любой объект файловой системы, включая директории. И благодаря тому, что их реализация основана на путях (не инодах), можно совершенно свободно создать символьную ссылку указывающую на объект другой файловой системы. Однако, сей факт также делает их сложными в понимании.

Предположим, что мы хотим создать ссылку в /tmp, которая указывает на /usr/local/bin. Нам следует набрать:

Либо, альтернативный вариант:

Как вы видите, обе символические ссылки указывают на одну директорию. Однако, если наша вторая символьная ссылка когда-нибудь будет перемещена в другую директорию, то она может «поломаться» из-за относительности пути:

$ mkdir mynewdir
$ mv bin2 mynewdir
$ cd mynewdir
$ cd bin2
bash: cd: bin2: No such file or directory

Потому, что директории /tmp/usr/local/bin не существует, мы больше не можем переместиться в bin2; другими словами, bin2 сейчас сломана.

По этой причине, избегать создания ссылок с относительной информацией о пути, иногда будет хорошей идеей. Тем не менее, существует множество случаев, где относительные символические ссылки крайне удобны. Рассмотрим пример в котором мы хотим создать альтернативное имя для программы в /usr/bin:

От имени суперпользователя мы хотим короткий синоним для keychain, такой, как kc. В этом примере у нас есть root-доступ, о чем свидетельствует измененное на «#» приветствие bash. Нам нужен root-доступ потому, что обычные пользователи не имеют прав создавать файлы в /usr/bin. От имени суперпользователя мы можем создать альтернативное имя для keychain следующим образом:

В этом примере мы создали символьную ссылку под названием kc, которая указывает на файл /usr/bin/keychain.

Пока это решение будет работать, но создаст проблему, если мы решим переместить оба файла, /usr/bin/keychain и /usr/bin/kc в /usr/local/bin:

Поскольку мы использовали абсолютный путь для символической ссылки kc, то она все еще ссылается на /usr/bin/keychain, которого не существует с тех пор как мы переместили /usr/bin/keychain в /usr/local/bin.

Это привело к тому, что симлинк kc сейчас не работает. Как относительные, так и абсолютные пути в символьных ссылках имеют свои достоинства, и, в зависимости от вашей задачи, нужно использовать соответствующий тип пути. Часто, и относительный, и абсолютный путь, будут работать одинаково хорошо. Пример ниже будет работать, даже после перемещения обоих файлов:

Теперь, мы можем запустить программу keychain набрав /usr/local/bin/kc. /usr/local/bin/kc указывает на программу keychain в той же директории, где находится kc.

Итак, мы знаем как использовать cp, mv и ln, настало время узнать о том, как можно удалять объекты из файловой системы. Обычно это делается с помощью команды rm. Чтобы удалить файлы, просто укажите их в командной строке:

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

rmdir

Для удаления директорий у вас имеется два варианта. Вы можете удалить все объекты внутри директории и затем воспользоваться rmdir для удаления самой директории:

$ mkdir mydir
$ touch mydir/file1
$ rm mydir/file1
$ rmdir mydir

Самый лучший способ удалить директорию состоит в использовании опций «рекурсивного принуждения» (recursive force) команды rm, чтобы приказать ей удалять указанную директорию, также как и объекты содержащиеся внутри:

Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Команда Ln: как создавать символические ссылки в Linux

Жесткие и мягкие ссылки

Символические ссылки используются в Linux для управления файлами и их сопоставления.

как создать ссылку на каталог в linux

В этом руководстве вы узнаете, как использовать команду ln для создания символических ссылок в Linux.

как создать ссылку на каталог в linux

Команда Ln для создания символических ссылок

Чтобы использовать команду ln, откройте окно терминала и введите команду в следующем формате:

Например, создайте символическую ссылку с помощью:

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

как создать ссылку на каталог в linux

Создать символическую ссылку на каталог Linux

Символическая ссылка может относиться к каталогу. Чтобы создать символическую ссылку на каталог в Linux:

В этом примере создается символическая ссылка с именем stock_photos в домашнем каталоге

как создать ссылку на каталог в linux

Примечание. Если система подключена к другому компьютеру, например к корпоративной сети или удаленному серверу, символические ссылки могут быть связаны с ресурсами в этих удаленных системах.

Принудительно перезаписать символические ссылки

Вы можете получить сообщение об ошибке, как показано на изображении ниже:

как создать ссылку на каталог в linux

как создать ссылку на каталог в linux

Удаление ссылок

Если исходный файл будет перемещен, удален или станет недоступным (например, сервер отключится), ссылку нельзя будет использовать. Чтобы удалить символическую ссылку, используйте команду rm (remove) или unlink :

как создать ссылку на каталог в linux

Soft Links против Hard Links

Команду ln можно использовать для создания двух разных типов ссылок:

Символические ссылки (Soft Links)

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

Вот несколько важных аспектов символической ссылки:

Жесткие ссылки (Hard Links)

Когда файл хранится на жестком диске, происходит несколько вещей:

Жесткая ссылка работает путем создания другого имени файла, которое ссылается на данные inode исходного файла. На практике это похоже на создание копии файла.

Вот несколько важных аспектов жестких ссылок:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *