Посиланням у Linux називають спеціальний файл, який відсилає до іншого файлу або директорії. Так один файл може розміщуватися відразу ж у кількох місцях одночасно. При видаленні оригіналу посилання на нього зберігається. У результаті можуть виникати збої та загалом засмічуватися система.
Для початку пояснимо спосіб перевірки, що файл насправді є посиланням. Це зручно робити за допомогою утиліти ls. Після розглянемо три способи видалення, кожен з яких має свої особливості.
За допомогою ls зручно дивитися інформацію про файл. Для використання утиліти задайте їй опцію -l і вкажіть шлях. Як приклад візьмемо файл ~/symlinks/link_1:
$ ls -l ~/symlinks/link_1

Ви можете перевірити цілий каталог на наявність посилань:
$ ls -l ~/symlin

Файл, який не потрібен, позначений характерною стрілочкою після його назви.
За допомогою команди rm можна видаляти будь-які файли у файловій системі Linux, зокрема й посилання. Тобто, вона підходить для нашого завдання. Тут важливо згадати, що в результаті видалення посилання оригінального файлу або директорії не торкнуться.
У терміналі виконайте команду:
$ rm ~/symlinks/link_1

Також щоб отримати детальну інформацію про процедуру, додайте команді опцію -v:
$ rm -v ~/symlinks/link_1

Додатково можна перевірити, чи зникло посилання з директорії. Для цього використовуйте описану раніше команду ls.

Тепер ви знаєте як видалити символічне посилання Linux.
Утиліта unlink призначається для видалення файлів із файлової системи Linux. Їй достатньо вказати шлях до посилання:
$ unlink ~/symlinks/link_1

У рамках поставленого завдання rm і unlink працюють практично однаково. А тепер перейдемо до останнього способу.
За допомогою команди find можна шукати і видаляти посилання в заданій директорії. А отже, не потрібне додаткове використання ls.

На відміну від двох попередніх варіантів, у неї досить просунуті можливості, наприклад, встановлення критеріїв пошуку. Але й синтаксис із цієї причини не такий простий.
Для пошуку потрібно вказати каталог і кілька параметрів:
$ find ~/symlinks/ -type l -print

Параметр -type l потрібен для відбору тільки символічних посилань, -print для виведення повного імені. А за допомогою -maxdepth можна задати глибину пошуку за вкладеними каталогами. Якщо вказати 1, то пошук буде йти тільки по самому каталогу, без вкладень:
$ find ~/symlinks/ -maxdepth 1 -type l -print

Щойно посилань у директорії буде багато, ви можете задати шаблон пошуку для команди find. Як приклад візьмемо ситуацію, коли потрібно відшукати тільки приховані посилання з датою останньої зміни не більше 30 днів тому:
$ find ~/data/ -type l -name ".*" -mtime -30 -print

Було додано два критерії:
-name - пошук за іменем.-mtime - за часом модифікації.За заданим шаблоном усі знайдені посилання можна видалити. Для цього -print замінюється на -delete:
$ find ~/data/ -type l -name ".*" -mtime -30 -delete

Наприкінці інструкції розберемося з пошуком і видаленням битих посилань, які нікуди не ведуть, наприклад, після видалення оригінального файлу або директорії. Для такої мети підійде параметр -xtype l. При цьому -print для виведення не потрібен:
$ find ~/broken_links/ -xtype l

У результаті всі биті посилання відобразяться в терміналі. Для їх видалення в кінці команди додайте -delete:
$ find ~/broken_links/ -xtype l -delete

На цьому інструкцію з видалення посилання в Linux завершено.