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


139

Я пытался создать эту символическую ссылку:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

но я случайно набрал:

sudo ln -s /usr/share/php,yad,in /var/www/phpmyadmin

Итак, теперь я хочу исправить это, но там говорится, что символическая ссылка уже существует.

Ответы:


165

Вы можете использовать, rmчтобы удалить символическую ссылку.

Пример:

-rw-rw-r-- 1 2014-01-02 09:21 tmo
lrwxrwxrwx 1 2014-01-02 09:21 tmo2 -> tmo

Затем ...

 rm tmo2

удалит символическую ссылку.


1
в доступе отказано. Это то, что я напечатал первым: sudo ln -s / usr / share / php, yad, в / var / www / phpmyadmin
— Джеймс

6
разрешение отклонено: вы знаете, что вам нужен sudo, если вы хотите использовать его в ситуации, когда у вас нет файла? Это относится и к «рм».
— Rinzwind

2
я сделал это rm / usr / bin / python и удалил мой python из Ubuntu: S

2
@RaheelKhan нет, вы не сделали, вы удалили символ. Python использует эту символическую ссылку. Если вы воссоздаете этот питон, ссылка вернется.
— Rinzwind

1
Я пробую эту команду, но кажется, что мой файл был удален, я не хочу удалять мой файл
— saeed masoomi

24

Вы также можете попробовать unlinkкоманду.
unlinkэто псевдоним команды rm. поэтому rm <symlink>будет работать так же, какunlink <symlink>

Вот ссылка ссылка .


9
unlinkне имеет ничего общего с символическими ссылками в частности. См. Serverfault.com/a/38817/64085
— Мэтью Рид

@kushvarma, но это работает. ты пробовал это?
— хакунами

1
ответ может быть правильным, но смущает новичков
— mit

" unlinkэто псевдоним команды rm" [Требуется Цитирование]
— mwfearnley

12

Предположим, вы пытались сделать:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin/

но случайно сделал:

sudo ln -s /usr/share/somethingelse /var/www/phpmyadmin/

Чтобы исправить это, просто перейдите в папку, где находится ссылка, и отмените ссылку.

cd /var/www/phpmyadmin/  
~:# unlink somethingelse

8

Вы будете использовать следующее, чтобы удалить символическую ссылку

sudo rm path/to/the/link

объяснение

  • rmявляется терминальной командой для удаления файла. Смотрите rm --helpбольше вариантов, которые он может принять.
  • sudoиспользуется, потому что символическая ссылка была создана с sudo. Следовательно, файл принадлежит пользователю root, и ваш обычный пользователь не сможет его редактировать / удалить, так как он имеет меньшую «мощность», чем root.
  • path/to/the/linkбудет /usr/share/php,yad,inосновано на вашем комментарии.

дополнительный

Также смотрите этот пост и мой комментарий к первому ответу для доступа к phpmyadmin при получении ошибки not found после установки.


Ваш комментарий не является общим. Пожалуйста, всегда используйте общую команду, чтобы показать, как удалить символическую ссылку
— kushvarma

означает, что она должна быть действительной для всего, как ваша команда специфична для / usr / share / php, yad, in, но должна иметь значение rm <
— symlink

@kushvarma, спасибо. Я сделал ответ более общим - изначально он был конкретным, потому что у ОП, похоже, была проблема с удалением файла
— chesedo

1

Извините за некро пост, но я нашел этот вопрос, когда искал ответ на этот вопрос.

Небольшое предостережение, которое я обнаружил, было то, что я пытался запустить rmи unlinkпо символической ссылке, и я получал ошибку, что это был каталог.

$ rm folder_name/
rm: cannot remove ‘folder_name/’: Is a directory
$ unlink folder_name/
unlink: cannot unlink ‘folder_name/’: Not a directory

Чтобы удалить символическую ссылку, я использовал, unlink folder_nameно она не работала, если был, /например, трейлинг, так unlink folder_name/как он думает, что это каталог, а не файл, который вы хотите удалить.


0

Я застрял здесь, потому что мне пришлось удалить, dpkg-divertи новый пакет не будет установлен, пока он не будет удален.

Так что, если вы сделали что-то вроде этого:

sudo dpkg-divert --add --rename --divert /usr/bin/gcc.real /usr/bin/gcc

Вы должны удалить это примерно так:

sudo dpkg-divert --remove /usr/bin/gcc.real
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.