Mam symboliczny link, ~/Desktop/test.txt
który wskazuje ~/rendu/test.txt
.
Znam TYLKO ścieżkę ~/Desktop/test.txt
, chcę szybkiego sposobu usunięcia ~/rendu/test.txt
BEZ usuwania linku symbolicznego.
Dla tego, kto chce wiedzieć, dlaczego: Mam plik o nazwie crypted.xxx
na pulpicie, który jest zaszyfrowany i zawiera moje hasło.
Kiedy chcę zaktualizować zaszyfrowany plik, odszyfrowuję go i tworzę crypted.txt
w specjalnym katalogu. Dlatego ze względów praktycznych robię link do tego pliku na pulpicie. Ale po obejrzeniu mojego crypted.txt
, chcę to szybko usunąć crypted.txt
(ale nie link na pulpicie).
command-line
delete
symbolic-link
Ugo Hed
źródło
źródło
Odpowiedzi:
za pomocą,
find
aby znaleźć dowiązanie symboliczne, a następnie za pomocą,readlink
aby uzyskać pełną ścieżkę do celu, abyrm
:Lub jak już znasz nazwę linku:
źródło
rm
polecenie zinterpretuje to jako odniesienie do bieżącego katalogu powłoki. Dlatego istnieje możliwość, że to polecenie usunie inny plik niż ten, na który wskazywał dowiązanie symboliczne.-f
-e
lub-m
pełna ścieżka jest zwracana, nawet jeśli docelowy dowiązanie symboliczne wskazuje ścieżkę względną, więc tak, jest to problem w przypadkurm "$(readlink ~/Desktop/test.txt)"
, ale nie w przypadku użycia-f
-e
lub-m
.readlink -f
(ale działa również, jeśli sam cel nie jest linkiem).Po prostu użyj:
aby wyczyścić plik, lub
aby usunąć plik.
źródło