Поиск по сайту:
Если наука есть память ума, то искусство есть память чувства (В. Солоухин).

Удаление символических ссылок в Linux. 3 Способа

FavoriteLoadingДобавить в избранное
23.07.2024
Как удалить Символические ссылки в Linux

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

В этой статье показано, как удалить символьные ссылки в системах Linux / UNIX с помощью команд rmunlink и find.

 

Прежде чем вы начнете

Чтобы удалить символическую ссылку, у вас должны быть права на запись в каталог, содержащий символическую ссылку. В противном случае вы получите сообщение об ошибке “Operation not permitted” (Операция не разрешена).

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

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

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

 

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

 

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

Читать  Команда read в Linux с примерами

Чтобы удалить символическую ссылку, вызовите команду 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

 

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

Читать  Решить проблему: неверная замена Bash

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

два × 3 =

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
Мир криптовалют динамичен и постоянно развивается, с появлением новых монет…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: