it-swarm-ru.tech

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

Я сделал символическую ссылку с помощью следующей команды:

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)

98
Peter Smit

Удалить косую черту:

С подсказкой:

$ rm test5

Без подсказки:

$ rm -f test5

120
Swanand

Попробуйте rm test5
(без косой черты).

Косая черта означает, что 'test5' является директорией, тогда как на самом деле это файл linking с каталогом.

19
pelms

Вы можете запустить удаление косой черты:

$ rm test5

Это удалит файл (то есть символическую ссылку).

В качестве альтернативы вы можете использовать unlink:

$ unlink test5

Опять же, вы должны опустить завершающую косую черту, поскольку вы пытаетесь отсоединить символическую ссылку, а не каталог.

12
Callum

Иногда, если вы используете автозаполнение для присвоения имени ссылке, которую хотите удалить, вы можете не увидеть косую черту, но она «наполовину там», и эта невидимая косая черта все еще выдает ошибку удаления при попытке удалить эту ссылку.

Таким образом, в этом случае введите символ за символом ссылку, которая будет удалена как «test5», например. rm test5.

0
user872812