Как удалить цель символической ссылки, не удаляя саму ссылку?

У меня есть символическая ссылка ~/Desktop/test.txt, которая указывает на ~/rendu/test.txt.

Я знаю ТОЛЬКО путь из ~/Desktop/test.txt, я хочу быстрый способ удаления ~/rendu/test.txt БЕЗ удаления символической ссылки.

Для того, кто хочет знать почему: у меня есть файл с именем crypted.xxx на моем рабочем столе, который зашифрован и содержит мой пароль.

Когда я хочу обновить мой зашифрованный файл, я расшифровываю его и создаю crypted.txt в специальном каталоге. Поэтому я делаю ссылку на этот файл на своем рабочем столе по практическим соображениям. Но, посмотрев на мой crypted.txt, я хочу быстро удалить это crypted.txt (но не ссылку на рабочем столе).

10
задан 5 April 2016 в 16:27

2 ответа

использование find найти символьную ссылку и затем использование readlink получить полный путь к цели к rm:

find ~/Desktop/ -type l -name 'test.txt' -exec bash -c 'rm "$(readlink -f "$1")"' _ {} \;

Или поскольку Вы уже знаете название ссылки:

rm "$(readlink -f ~/Desktop/test.txt)"
11
ответ дан 5 April 2016 в 16:27

Просто используйте:

printf "" > "$(readlink '/path/to/link')"

- очистите файл или

rm "$(readlink '/path/to/link')"

- удалите файл.

0
ответ дан 5 April 2016 в 16:27

Другие вопросы по тегам:

Похожие вопросы: