J'ai un lien symbolique ~/Desktop/test.txt
qui pointe vers ~/rendu/test.txt
.
Je connais UNIQUEMENT le chemin de ~/Desktop/test.txt
, je veux un moyen rapide de supprimer ~/rendu/test.txt
SANS supprimer le lien symbolique.
Pour ceux qui veulent savoir pourquoi: j'ai un fichier nommé crypted.xxx
sur mon bureau, qui est crypté et contient mon mot de passe.
Lorsque je veux mettre à jour mon fichier crypté, je le déchiffre et il crée crypted.txt
dans un répertoire spécial. Je fais donc un lien vers ce fichier sur mon bureau pour des raisons pratiques. Mais après avoir regardé mon crypted.txt
, je souhaite supprimer rapidement ce crypted.txt
(mais pas le lien situé sur le bureau).
en utilisant find
pour trouver le lien symbolique, puis en utilisant readlink
pour obtenir le chemin complet de la cible jusqu'à rm
:
find ~/Desktop/ -type l -name 'test.txt' -exec bash -c 'rm "$(readlink -f "$1")"' _ {} \;
Ou comme vous connaissez déjà le nom du lien:
rm "$(readlink -f ~/Desktop/test.txt)"
Utilisez simplement:
printf "" > "$(readlink '/path/to/link')"
à effacer le fichier, ou
rm "$(readlink '/path/to/link')"
à supprimer le fichier.