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)
linux
bash
symbolic-link
Peter Smit
fuente
fuente
rm -r link/
elimina el contenido en el objetivoRespuestas:
Elimine la barra inclinada final:
Con aviso:
Sin aviso:
fuente
permission denied
.test5/
es incorrecto.Prueba
rm test5
(sin la barra de entrenamiento).
La barra indica que 'test5' es un directorio mientras que en realidad es un archivo que se vincula a un directorio.
fuente
Puede ejecutar la eliminación de la barra diagonal final:
Esto eliminará el archivo (es decir, el enlace simbólico).
Alternativamente, puede usar desvincular:
Una vez más, debe omitir la barra diagonal final ya que está intentando desvincular el enlace simbólico, no el directorio.
fuente
A veces, si usa la función de autocompletar para nombrar el enlace que desea eliminar, es posible que no vea una barra inclinada final, pero está 'a medio camino' y esa barra invisible aún da el error de eliminación al intentar eliminar ese enlace.
Entonces, en ese caso, escriba carácter por carácter el enlace que se eliminará como "test5" como, por ejemplo.
rm test5
.fuente
El problema en el OP es el seguimiento
/
, por lo quetest5/
arroja un error perotest5
funciona.Prefiero usar en
unlink
lugar de hacerlo,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 haya ningún rastro/
después del nombre del directorio, por ejemplo:fuente
Me siento tonto preguntando, pero ¿lo has intentado
rm -r
? Como es un enlace simbólico, no debería eliminar el objetivo.Editar: solo lo intenté, es correcto
Edición 2: rmdir dice que en su primera línea de la página man elimina los directorios vacíos. Creo que, debido a que es un enlace, tenía el bit de directorio verificado en sus propiedades de archivo, pero porque rmdir no sospecha que ese sea el caso, escupe errores. Solo usa rm -r
fuente