Как удалить символическую ссылку на каталог?
Я сделал символическую ссылку со следующей командой:
ln -s ../test5
Я хочу удалить его сейчас, но мой rm терпит неудачу:
$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory
$ls -l
0 lrwxrwxrwx 1 peter peter 8 Jul 20 15:30 test5 -> ../test5/
Как удалить символическую ссылку?
(Ubuntu 8.10, bash)
5 ответов
вы можете запустить удаление косой черты:
$ rm test5
этого удалить файла (т. е. ссылку).
в качестве альтернативы вы можете использовать unlink:
$ unlink test5
опять же вы должны опустить косую черту, так как вы пытаетесь отменить связь символической ссылки не каталог.
иногда, если вы используете автозаполнение, чтобы назвать ссылку, которую вы хотите удалить, вы можете не увидеть косую черту, но это "половина там", и этот невидимый Слэш по-прежнему дает ошибку удаления при попытке удалить эту ссылку.
Так что в этом случае введите символ за символом ссылку, которая будет удалена как "test5", например. rm test5
.
глупо спрашивать, но ты пробовал rm -r
?
Поскольку это символическая ссылка, она не должна удалять цель.
Edit: просто попробовал, это правильно
Edit 2: rmdir говорит в первой строке справочной страницы, что удаляет пустые каталоги. Я считаю, что именно он имел каталоге бит проверил свойства файла, а потому, что команда rmdir не подозревает, что если он плюет ошибки. Просто используйте rm-r
Другие вопросы bash linux symbolic-link