DataLife Engine / Освободите место в Linux: 3 способа правильно удалить ссылки

Освободите место в Linux: 3 способа правильно удалить ссылки

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

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


Содержание статьи

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

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

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

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

ls -l ~/symlinks/link_1
Освободите место в Linux: 3 способа правильно удалить ссылки

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

ls -l ~/symlinks/
Освободите место в Linux: 3 способа правильно удалить ссылки

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

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

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

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

rm ~/symlinks/link_1
Освободите место в Linux: 3 способа правильно удалить ссылки

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

rm -v ~/symlinks/link_1
Освободите место в Linux: 3 способа правильно удалить ссылки

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

Освободите место в Linux: 3 способа правильно удалить ссылки

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

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

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

unlink ~/symlinks/link_1
Освободите место в Linux: 3 способа правильно удалить ссылки

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

Освободите место в Linux: 3 способа правильно удалить ссылки

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

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

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

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

find ~/symlinks/ -type l -print
Освободите место в Linux: 3 способа правильно удалить ссылки

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

find ~/symlinks/ -maxdepth 1 -type l -print
Освободите место в Linux: 3 способа правильно удалить ссылки

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

find ~/data/ -type l -name ".*" -mtime -30 -print
Освободите место в Linux: 3 способа правильно удалить ссылки

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

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

find ~/data/ -type l -name ".*" -mtime -30 -delete
Освободите место в Linux: 3 способа правильно удалить ссылки

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

find ~/broken_links/ -xtype l
Освободите место в Linux: 3 способа правильно удалить ссылки

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

find ~/broken_links/ -xtype l -delete
Освободите место в Linux: 3 способа правильно удалить ссылки

Выводы

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

28-10-2025, 17:00
Вернуться назад