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)
Retire la barra inclinada al final:
Con aviso:
$ rm test5
Sin aviso:
$ rm -f test5
Prueba rm test5
(sin la barra de entrenamiento).
La barra indica que 'test5' es un anuncio directo mientras que en realidad es un archivo que enlaza a un directorio.
Puede ejecutar eliminando la barra inclinada al final:
$ rm test5
Esto eliminará el archivo (es decir, el enlace simbólico).
Alternativamente, puede utilizar desvincular
$ unlink test5
De nuevo, debe omitir la barra diagonal final, ya que está intentando desvincular el enlace simbólico, no el directorio.
El problema en el OP es el /
final, así que test5/
lanza 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 haya un /
final después del nombre del directorio, por ejemplo:
unlink test5
A veces, si usa la función autocompletar para nombrar el enlace que desea eliminar, es posible que no vea una barra diagonal final, pero está "a la mitad" y esa barra invisible aún genera 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", por ejemplo. rm test5
.