2009-07-20 12:40:03 +0000 2009-07-20 12:40:03 +0000
101
101

¿Cómo eliminar un enlace simbólico a un directorio?

Hice un enlace simbólico con el siguiente comando:

ln -s ../test5

Quiero eliminarlo ahora pero mi rm falla:

$ 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/

¿Cómo puedo eliminar mi enlace simbólico? (Ubuntu 8.10, bash)

Ответы (6)

122
122
122
2009-07-20 12:51:01 +0000

Elimine la barra diagonal final:

Con indicación:

$ rm test5

Sin indicación:

$ rm -f test5

21
21
21
2009-07-20 12:54:12 +0000

Pruebe con rm test5 (sin la barra de formación).

La barra indica que ‘test5’ es un directorio mientras que en realidad es un archivo enlazando a un directorio.

14
14
14
2009-07-20 13:06:36 +0000

Puede ejecutar la eliminación de la barra diagonal final:

$ rm test5

Esto eliminará el archivo (es decir, el enlace simbólico).

Alternativamente puede utilizar unlink:

$ unlink test5

De nuevo debe omitir la barra final ya que está intentando desvincular el enlace simbólico no el directorio.

0
0
0
2019-05-02 03:05:12 +0000

El problema en el OP es el / al final, por lo que test5/ arroja un error pero test5 funciona.

Prefiero usar unlink en lugar de rm ya que mi intención es más clara y no hay posibilidad de eliminar por error el directorio real en lugar del enlace. Asegúrese de que no hay ningún / al final del nombre del directorio, por ejemplo

unlink test5
0
0
0
2018-02-14 23:23:37 +0000

A veces, si utiliza la función de autocompletar para nombrar el enlace que desea eliminar, es posible que no vea la barra diagonal final, pero está “a medio camino” y esa barra diagonal invisible sigue dando el error de eliminación cuando se intenta eliminar ese enlace.

Así que en ese caso escriba carácter por carácter el enlace a eliminar como “test5” como por ejemplo rm test5.

-1
-1
-1
2009-07-20 12:42:27 +0000

Me parece una tontería preguntarlo, pero ¿has probado con rm -r? Al ser un enlace simbólico no debería borrar el destino.

Edición: Acabo de probarlo, es correcto

Edición 2: rmdir dice en su primera línea de la página de manual que borra directorios vacíos. Yo pensaría que al ser un enlace tiene el bit de directorio marcado en sus propiedades de archivo, pero como rmdir no sospecha que sea así escupe errores. Simplemente usa rm -r