как удалить ссылку в линукс

IT Blog. Code Inside

Создание, просмотр и удаление символьных (символических) ссылок в Linux

Cимвольная ссылка (также симлинк от англ. Symbolic link, символическая ссылка) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Символьная ссылка занимает ровно столько места в файловой системе, сколько требуется для записи её содержимого (нормальный файл занимает как минимум один блок раздела).

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

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

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

Просмотр символьной ссылки

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

В результате выполнения команды в поле stat будет показан символ l (link).

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

Удаление символьной ссылки

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

При удалении символьной ссылки на каталог следует учитывать, что записывать команду без слеша в конце, иначе bash выдаст ошибку «невозможно удалить ссылку: Это не каталог».

Источник

Символические и жесткие ссылки Linux

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

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

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

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

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

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

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

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

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

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

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

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

mkdir test && cd test

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

echo «текст текст текст текст» > source
$ cat source

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

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

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

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

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

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

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

echo «текст текст текст текст» > source
$ cat source

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

ln source hardlink

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

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

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

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

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

Выводы

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

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

Источник

Как найти и удалить битые символические ссылки в Linux

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

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

Что именно является символической ссылкой?

Обычно называемые symlink(символической ссылкой) или soft link(мягкой ссылкой), символические ссылки представляют собой очень маленькие файлы. На самом деле символическая ссылка содержит только имя любого файла, на который она указывает, обычно вместе с путем к файловой системе (относительно текущего местоположения или абсолютного значения).

Если файл с именем file1 указывает на файл с именем /apps/files/file-2020, длина file1 будет составлять 21 символ, даже если размер файла file-2020 составляет 2 терабайта. Если он указывает на ./file-2020, длина его будет всего 11 символов. Если указывает на file-2020, то только девять.

Если вы выполните команду, подобную «vi file1» (где file1 — имя символической ссылки), вы в конечном итоге отредактируете любой файл, на который указывает file1, а не содержимое самой символической ссылки. Системы Linux знают, как работать с символическими ссылками, и просто делают правильные вещи. Точно так же, если вы используете такие команды, как cat, more, head или tail, вы будете просматривать содержимое указанного файла.

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

Когда ломаются ссылки

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

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

Если вы попытаетесь получить доступ к символической ссылке, которая указывает на себя (бывает и так), вы увидите что-то вроде этого:

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

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

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

буква l указывает команде поиска искать символические ссылки.

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

Чтобы избежать ошибок, когда команда пытается просмотреть файлы или каталоги, на которые у вас нет разрешения, вы можете отправить весь вывод ошибок в /dev/null следующим образом:

Вы также можете найти неработающие символические ссылки с помощью такой команды. Она длиннее предыдущей, но делает тоже самое:

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

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

Часть этой команды rm <> превращается в команду «удалить файл».

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

Источник

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

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

Прежде чем вы начнете

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

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

Первый символ «l» указывает, что файл является символической ссылкой. Символ «->» показывает файл, на который указывает символическая ссылка.

Удалить символические ссылки с помощью команды rm

Команда rm удаляет указанные файлы и каталоги.

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

В случае успеха команда завершается с нуля и не выводит никаких данных.

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

Для подтверждения нажмите клавишу y и нажмите Enter.

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

Содержимое целевого каталога будет удалено.

Удалить символические ссылки с unlink

Команда unlink удаляет данный файл. В отличие от rm, unlink принимает только один аргумент.

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

Если команда выполняется успешно, она не отобразит вывод.

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

Найти и удалить неработающие символические ссылки

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

Чтобы найти все неработающие символические ссылки в данном каталоге, выполните следующую команду:

Команда выведет список всех неработающих ссылок в каталоге и его подкаталогах.

Заключение

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

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

Источник

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

У вас может быть появиться задача создать или удалить символические ссылки в Linux.

Если да, знаете ли вы, как это сделать?

Вы уже сделали это? Вы знаете об этом что-либо?

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

Это можно сделать с помощью команд rm и unlink.

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

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

Это похоже чем-то на ярлык в Windows.

Она может указывать на файл или каталог в той же или другой файловой системе или разделе.

Обычно символические ссылки используются для связи библиотек.

Также они используются для связывания файлов журналов и папок на смонтированных общих папках NFS (Network File System).

Что за команда rm?

Что за команда unlink?

Команда unlink используется для удаления указанного файла.

Она уже установлена, так как является частью GNU Gorutils.

1) Как удалить файлы символьных ссылок с помощью команды rm

Команда rm является одной из наиболее часто используемых команд в Linux.

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

2) Как удалить символические ссылки с помощью команды unlink

Она принимает только один файл за раз.

Удалить файл символьной ссылки

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

• Свежие записи

• Категории

• itsecforu.ru

• Страны посетителей

IT is good

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • как удалить ссклинер виндовс 10
  • как удалить средство просмотра фотографий windows 10
  • как удалить средства отслеживания windows 10
  • как удалить сразу несколько программ windows 10
  • как удалить справку и поддержку windows 7

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии