Tengo un enlace simbólico ~/Desktop/test.txtque apunta a ~/rendu/test.txt.
Solo conozco la ruta de ~/Desktop/test.txt, quiero una forma rápida de eliminar ~/rendu/test.txtSIN eliminar el enlace simbólico.
Para el que quiere saber por qué: tengo un archivo con nombre crypted.xxxen mi escritorio, que está encriptado y contiene mi contraseña.
Cuando quiero actualizar mi archivo encriptado, lo desencripto y lo creo crypted.txten un directorio especial. Así que hago un enlace a ese archivo en mi escritorio por razones prácticas. Pero después de mirar mi crypted.txt, quiero eliminar esto rápidamente crypted.txt(pero no el enlace en el escritorio).
command-line
delete
symbolic-link
Ugo Hed
fuente
fuente

Respuestas:
usando
findpara encontrar el enlace simbólico y luego usandoreadlinkpara obtener la ruta completa al destino pararm:O como ya sabes el nombre del enlace:
fuente
rmcomando lo interpretará como relativo al directorio actual del shell. Por lo tanto, existe la posibilidad de que ese comando elimine un archivo diferente del que apuntaba el enlace simbólico.-f-eo-mse devuelve la ruta completa, incluso si el enlace simbólico objetivo apunta a una ruta relativa, así que sí, eso es una preocupación en caso derm "$(readlink ~/Desktop/test.txt)", pero no cuando se usa-f-eo-m.readlink -f(pero también funciona si el objetivo en sí no es un enlace).Simplemente use:
para borrar el archivo, o
para eliminar el archivo
fuente