我有一个~/Desktop/test.txt
指向的符号链接~/rendu/test.txt
。
我只知道的路径~/Desktop/test.txt
,我想要一种快速删除的方法~/rendu/test.txt
,而不删除符号链接。
对于想知道原因的人:crypted.xxx
我的桌面上有一个名为的文件,它已加密并包含我的密码。
当我想更新我的加密文件时,我会解密它并将其创建crypted.txt
在一个特殊的目录中。因此,出于实际原因,我在桌面上创建了指向该文件的链接。但在查看我的 后crypted.txt
,我想快速删除它crypted.txt
(而不是桌面上的链接)。
答案1
使用find
查找符号链接,然后使用readlink
获取目标的完整路径rm
:
find ~/Desktop/ -type l -name 'test.txt' -exec bash -c 'rm "$(readlink -f "$1")"' _ {} \;
或者您已经知道链接名称:
rm "$(readlink -f ~/Desktop/test.txt)"
答案2
只需使用:
printf "" > "$(readlink '/path/to/link')"
到清除文件,或
rm "$(readlink '/path/to/link')"
到消除文件。