У меня есть символическая ссылка ~/Desktop/test.txt
, которая указывает на ~/rendu/test.txt
.
Я знаю ТОЛЬКО путь из ~/Desktop/test.txt
, я хочу быстрый способ удаления ~/rendu/test.txt
БЕЗ удаления символической ссылки.
Для того, кто хочет знать почему: у меня есть файл с именем crypted.xxx
на моем рабочем столе, который зашифрован и содержит мой пароль.
Когда я хочу обновить мой зашифрованный файл, я расшифровываю его и создаю crypted.txt
в специальном каталоге. Поэтому я делаю ссылку на этот файл на своем рабочем столе по практическим соображениям. Но, посмотрев на мой crypted.txt
, я хочу быстро удалить это crypted.txt
(но не ссылку на рабочем столе).
использование find
найти символьную ссылку и затем использование readlink
получить полный путь к цели к rm
:
find ~/Desktop/ -type l -name 'test.txt' -exec bash -c 'rm "$(readlink -f "$1")"' _ {} \;
Или поскольку Вы уже знаете название ссылки:
rm "$(readlink -f ~/Desktop/test.txt)"
Просто используйте:
printf "" > "$(readlink '/path/to/link')"
- очистите файл или
rm "$(readlink '/path/to/link')"
- удалите файл.