Ubuntu создать ссылку на python

Обновлено: 03.07.2024

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

Типы ссылок

В системах Linux / UNIX есть два типа ссылок:

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

Как использовать ln команду

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

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

  • Если оба FILE и LINK приведены, ln создаст ссылку из файла , указанного в качестве первого аргумента ( FILE ) в файл , указанный в качестве второго аргумента ( LINK ).

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

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

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

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

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

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


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


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


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

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

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

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

/my_movies каталог, вы должны выполнить:


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


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


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

Чтобы удалить символические ссылки, используйте команду unlink или rm .

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

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

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

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

Вывод

Для создания символической ссылки в Linux используйте ln команду с -s опцией.

Для получения дополнительной информации о ln команде посетите страницу руководства ln или введите man ln свой терминал.

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

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

Символические ссылки

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

Вот основные особенности символических ссылок:

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

Теперь давайте рассмотрим жесткие ссылки.

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

Этот тип ссылок реализован на более низком уровне файловой системы. Файл размещен только в определенном месте жесткого диска. Но на это место могут ссылаться несколько ссылок из файловой системы. Каждая из ссылок - это отдельный файл, но ведут они к одному участку жесткого диска. Файл можно перемещать между каталогами, и все ссылки останутся рабочими, поскольку для них неважно имя. Рассмотрим особенности:

  • Работают только в пределах одной файловой системы;
  • Нельзя ссылаться на каталоги;
  • Имеют ту же информацию inode и набор разрешений что и у исходного файла;
  • Разрешения на ссылку изменяться при изменении разрешений файла;
  • Можно перемещать и переименовывать и даже удалять файл без вреда ссылке.

Использование ссылок в Linux

Теоретические отличия вы знаете, но осталось закрепить все это на практике, поэтому давайте приведем несколько примеров работы со ссылками в Linux. Для создания символических ссылок существует утилита ln. Ее синтаксис очень прост:

$ ln опции файл_источник файл_ссылки

Рассмотрим опции утилиты:

  • -d - разрешить создавать жесткие ссылки для директорий суперпользователю;
  • -f - удалять существующие ссылки;
  • -i - спрашивать нужно ли удалять существующие ссылки;
  • -P - создать жесткую ссылку;
  • -r - создать символическую ссылку с относительным путем к файлу;
  • -s - создать символическую ссылку.

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

Сначала создайте папку test и перейдите в нее:

mkdir test && cd test


Затем создайте файл с именем source с каким-либо текстом:

echo "текст текст текст текст" > source
$ cat source


Файл готов, дальше создадим символическую ссылку Linux, для этого используется команда ln с опцией -s:

ln -s source softlink


Попробуем посмотреть содержимое файла по ссылке:


Как видите, нет никакой разницы между ней и исходным файлом. Но утилита ls покажет что это действительно ссылка:


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

Теперь удалите исходный файл и посмотрите что будет:


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

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

Снова создайте файл source с произвольным текстом:

echo "текст текст текст текст" > source
$ cat source


Теперь создадим жесткую ссылку Linux. Для этого достаточно вызвать утилиту без параметров:

ln source hardlink

Посмотрите содержимое файла:


Данные те же самые, а если мы посмотрим вывод утилиты ls, то увидим что inode и права доступа тоже совпадают:


Если для одного из файлов поменять разрешения, то они изменяться и у другого. Теперь удалите исходный файл:

Затем посмотрите содержимое:


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

Выводы

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

На завершение видео про ссылки в Linux:

В командной оболочке Linux, чтобы создать еще одну жесткую ссылку на файл, то есть еще одно имя, используется команда ln (от "link" – ссылка, связывать). Первым аргументом указывается существующее имя файла, вторым – имя новой ссылки. Адреса обоих аргументов могут быть как относительными, так и абсолютными.

В примере для файла butt2.jpg, который находится в каталоге image, создаются две дополнительные жесткие ссылки. Одна – в текущем каталоге (./), другая – в папке Загрузки. В первом случае файл не переименовывается, т. к. это не обязательно, ведь полные имена файлов различны. Однако можно и переименовать, как это происходит во втором случае.

С помощью команды ls -l можно убедиться, что на файл указывают три жесткие ссылки.

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

Символьные ссылки создаются с помощью той же команды ln, однако используется ключ -s (от "symbolic"). В качестве первого аргумента пишется абсолютный адрес файла или каталога, на который делается ссылка, в качестве второго – абсолютный или относительный адрес создаваемой мягкой ссылки.

Здесь на рабочем столе создаются две символьные ссылки: на каталог image и на файл 2018.ods. Имя ссылки можно оставить таким же как у объекта, если ссылка создается в другом каталоге. Команда ls -l среди прочего отображает адрес, на который указывает символьная ссылка. Если бы мы при создании мягкой ссылки использовали относительные адреса источников, то они так бы и хранились, и файлы-ссылки были бы нерабочими.

Практическая работа

Создайте текстовый файл с помощью перенаправления вывода команды cal. Создайте на этот файл дополнительную жесткую ссылку. Внесите изменения в файл, обратившись к нему по второму имени. Изменения можно внести, дописав (>>) в файл дату с помощью перенаправления вывода команды date. Посмотрите содержимое файла, воспользовавшись первым именем файла. Тем самым вы убедитесь, что имеете дело с одним и тем же файлом, доступным под разными именами.

Создайте символьную ссылку на каталог. Посмотрите в графической оболочке, как дистрибутив Linux по особому обозначает такой объект (обычно у иконки появляется маленькая черная стрелка).

Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Как создать символические ссылки в Linux с помощью команды ln

Как создать символические ссылки в Linux с помощью команды ln

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

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

Типы ссылок

В системах Linux/UNIX существует два типа ссылок:

Команда ln

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

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

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

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

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

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

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

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

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

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

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

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

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

/my_movies , который вы запустили:

Перезапись символов

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

Удаление Symlinks

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

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

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

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

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

Заключение

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

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

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