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