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

12 set 2022 2 min di lettura
Как удалить (удалить) символические ссылки (ссылки) в Linux
Indice dei contenuti

Введение

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

В этом руководстве мы покажем вам, как удалять и удалять символические ссылки в системах Linux/UNIX с помощью команд rm, unlink и find.

До начала

Чтобы удалить символическую ссылку, у вас должны быть права на запись в каталоге, содержащем символическую ссылку. В противном случае будет отображаться ошибка «Операция не разрешена».

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

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

ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

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

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

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

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

rm symlink_name

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

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

rm symlink1 symlink2

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

rm -i symlink_name

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

rm: remove symbolic link 'symlink_name'?

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

rm symlink_to_dir/
rm: cannot remove 'symlink_to_dir/': Is a directory

Если имя аргумента заканчивается на /, команда rm предполагает, что файл является каталогом. Ошибка возникает из-за того, что при использовании без опции -d или -r rm не может удалять каталоги.

В целях безопасности никогда не используйте параметр -r при удалении символических ссылок rm. Например, если вы наберете:

rm -r symlink_to_dir/

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

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

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

unlink symlink_name

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

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

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

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

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

find /path/to/directory -xtype l
/path/to/directory/symlink1
 /path/to/directory/subdir/symlink2

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

Если вы хотите исключить символические ссылки, содержащиеся в подкаталогах, используйте параметр -maxdepth 1 с find:

find /path/to/directory -maxdepth 1 -xtype l
/path/to/directory/symlink1

Как только вы найдете неработающие символические ссылки, вы можете вручную удалить их с помощью rm или unlink или использовать параметр -delete команды find:

find /path/to/directory -xtype l -delete

Вывод

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.