Я сделал символическую ссылку со следующей командой:
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)
linux
bash
symbolic-link
Питер Смит
источник
источник
rm -r link/
удаляет содержимое на целиОтветы:
Удалить косую черту:
С подсказкой:
Без подсказки:
источник
permission denied
.test5/
неверно.Попробуй
rm test5
(без косой черты).
Слэш показывает , что «test5» является direactory в то время как на самом деле файл ссылки на каталог.
источник
Вы можете запустить удаление косой черты:
Это удалит файл (т.е. символическую ссылку).
В качестве альтернативы вы можете использовать unlink:
Опять же, вы должны опустить завершающую косую черту, поскольку вы пытаетесь отсоединить символическую ссылку, а не каталог.
источник
Иногда, если вы используете автозаполнение для присвоения имени ссылке, которую хотите удалить, вы можете не увидеть косую черту, но она «наполовину там», и эта невидимая косая черта все еще выдает ошибку удаления при попытке удалить эту ссылку.
Таким образом, в этом случае введите символ за символом ссылку, которая будет удалена как «test5», например.
rm test5
,источник
Проблема в OP - это трейлинг
/
, поэтомуtest5/
выдает ошибку, ноtest5
работает.Я предпочитаю использовать,
unlink
а неrm
как мое намерение яснее, и нет никакой возможности ошибочно удалить реальный каталог вместо ссылки. Убедитесь, что/
после имени каталога нет трейлинга , например:источник
Чувствую себя глупо, но вы пробовали
rm -r
? Так как это символическая ссылка, она не должна удалять цель.Редактировать: только что попробовал, это правильно
Edit 2: rmdir говорит, что в первой строке справочной страницы он удаляет пустые каталоги. Я бы подумал, потому что это ссылка, в которой он проверял бит каталога в свойствах своего файла, а потому что rmdir не подозревает, что в этом случае он выдает ошибки. Просто используйте rm -r
источник