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

How to Remove (Delete) Symbolic Links in Linux

21 Декабря 2019 | Терминал

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

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

Символическая ссылка, также известная как символическая ссылка, представляет собой специальный тип файла, который указывает на другой файл или каталог. Это что-то вроде ярлыка в 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 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 удаляет данный файл. В отличие от 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за которой следует имя символической ссылки в качестве аргумента. При удалении символической ссылки, указывающей на каталог, не добавляйте косую черту к имени символической ссылки.


    Комментарии

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

Загрузка комментариев...