Tengo un enlace simbólico ~/Desktop/test.txt
que apunta a ~/rendu/test.txt
.
Solo conozco la ruta de ~/Desktop/test.txt
, quiero una forma rápida de eliminar ~/rendu/test.txt
SIN eliminar el enlace simbólico.
Para el que quiere saber por qué: tengo un archivo con nombre crypted.xxx
en mi escritorio, que está encriptado y contiene mi contraseña.
Cuando quiero actualizar mi archivo encriptado, lo desencripto y lo creo crypted.txt
en 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
find
para encontrar el enlace simbólico y luego usandoreadlink
para obtener la ruta completa al destino pararm
:O como ya sabes el nombre del enlace:
fuente
rm
comando 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
-e
o-m
se 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
-e
o-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