Как удалить (удалить) символические ссылки в Linux
Как удалить (удалить) символические ссылки в Linux
How to Remove (Delete) Symbolic Links in Linux
В этом руководстве мы покажем вам , как удалит символические ссылки в системах Linux / UNIX с использованием rm, unlink и find команды.

Символическая ссылка, также известная как символическая ссылка, представляет собой специальный тип файла, который указывает на другой файл или каталог. Это что-то вроде ярлыка в Windows. Символьная ссылка может указывать на файл или каталог в той же или другой файловой системе или разделе.
Прежде чем вы начнете
Чтобы удалить символическую ссылку, вам нужно иметь права на запись в каталог, который содержит символическую ссылку. В противном случае вы получите ошибку «Операция не разрешена».
Когда вы удаляете символическую ссылку, файл, на который она указывает, не затрагивается.
Используйте 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 -f symlink_to_dir/
Содержимое целевого каталога будет удалено.
Удалить символические ссылки с unlink
Команда 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
за которой
следует имя символической ссылки в качестве аргумента. При удалении символической ссылки, указывающей на
каталог, не добавляйте косую черту к имени символической ссылки.