Главная >> Инструкции >> Как удалить ссылку в Linux

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

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

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

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

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

Убедится, что это ссылка

С помощью ls удобно смотреть информацию о файле. Для использования утилиты задайте ей опцию -l и укажите путь. В качестве примера возьмем файл ~/symlinks/link_1:

ls -l ~/symlinks/link_1

yDnvAnxv8eeGr4v5LT3TnW7ipIAAAAAElFTkSuQmCC

Также вы можете проверить целый каталог на наличие ссылок:

ls -l ~/symlinks/

GNLtn0owYIAAAAASUVORK5CYII=

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

Удалить с помощью rm

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

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

rm ~/symlinks/link_1

9fyiDZbB0kC08AAAAASUVORK5CYII=

При этом на вывод никаких данных не поступит. Чтобы получить подробную информацию о процедуре, добавьте команде опцию -v:

rm -v ~/symlinks/link_1

8BTYWsL3lBWUYAAAAASUVORK5CYII=

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

A0q3GUrzMpniAAAAAElFTkSuQmCC

Теперь вы знаете как удалить символическую ссылку Linux.

Удалить с помощью unlink

Утилита unlink предназначается для удаления файлов из файловой системы Linux. Ей достаточно указать путь к ссылке:

unlink ~/symlinks/link_1

ABN6eCitZ+WIAAAAAElFTkSuQmCC

А затем проверить успешность операции с помощью ls.

A0q3GUrzMpniAAAAAElFTkSuQmCC

В рамках поставленной задачи rm и unlink работают практически одинаково. А теперь перейдем к последнему способу.

Удалить ссылки с помощью find

С помощью команды find можно искать и удалять ссылки в заданной директории. А значит, не требуется дополнительное использование ls. В отличие от двух предыдущих вариантов, у нее достаточно продвинутые возможности, например, установка критериев поиска. Но и синтаксис по этой причине не такой простой.

Для поиска нужно указать каталог и несколько параметров:

find ~/symlinks/ -type l -print

C4BdCX9dwOH80PzPpn8BAxBhKJ5YfzEAAAAASUVORK5CYII=

Параметр -type l нужен для отбора только символических ссылок, -print для вывода полного имени. А с помощью -maxdepth можно задать глубину поиска по вложенным каталогам. Если указать 1, то поиск будет идти только по самому каталогу, без вложений:

find ~/symlinks/ -maxdepth 1 -type l -print

0CZq45+iCecAAAAASUVORK5CYII=

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

find ~/data/ -type l -name ".*" -mtime -30 -print

U59lh8i1fhgwuwTLmQDNO3WMd559dfkPjKPEQUzktkgAAAAASUVORK5CYII=

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

  • -name – поиск по имени.
  • -mtime – по времени модификации.

По заданному шаблону все найденные ссылки можно удалить. Для этого -print заменяется на -delete:

find ~/data/ -type l -name ".*" -mtime -30 -delete

w3i+sJXt0ZVSEAAAAASUVORK5CYII=

Напоследок разберемся с поиском и удалением битых ссылок, которые никуда не ведут, например, после удаления оригинального файла или директории. Для такой цели подойдет параметр -xtype l. При этом -print для вывода не требуется:

find ~/broken_links/ -xtype l

P8AO8B3fH6nmd4AAAAASUVORK5CYII=

В результате все битые ссылки отобразятся в терминале. Для их удаления в конце команды добавьте -delete:

find ~/broken_links/ -xtype l -delete

wGzWTJuO4k5RwAAAABJRU5ErkJggg==

Выводы

В данной статье мы разобрали три по-своему удобных способа как удалить жесткую ссылку Linux. В случае с утилитами rm и unlink процедура достаточно простая. Но их следует использовать в паре с ls для проверки ссылок и успешности выполнения процедуры. А find в этом плане является универсальным вариантом с расширенными возможностями. Он окажется особенно полезным для чистки битых ссылок, которые никуда не ведут.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Оцените статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (10 оценок, среднее: 4,30 из 5)
Загрузка...
Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

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

×

Сообщить об ошибке или улучшить статью

Здесь вы можете внести исправления:

Комментарий:

×