Non esiste davvero alcun modo diretto per verificare la presenza di tali collegamenti simbolici. Considera che potresti avere un filesystem che non è sempre montato (ad es. un'unità USB esterna), che potrebbe contenere collegamenti simbolici a un altro volume sul sistema.
Potresti fare qualcosa con:
for a in `find / -type l`; do echo "$a -> `readlink $a`"; done | grep destfolder
Noto che find
di FreeBSD non supporta il -lname
opzione, motivo per cui ho finito con quanto sopra.
Userei il comando find.
find . -lname /particular/folder
Ciò cercherà ricorsivamente nella directory corrente i collegamenti simbolici a /particular/folder
. Si noti che troverà solo collegamenti simbolici assoluti. Un comando simile può essere utilizzato per cercare tutti i collegamenti simbolici che puntano a oggetti chiamati "cartella":
find . -lname '*folder'
Da lì dovresti eliminare tutti i falsi positivi.
find . -type l -printf '%p -> %l\n'
Puoi controllare i collegamenti simbolici con il symlinks
programma scritto da Mark Lord:eseguirà la scansione di un intero filesystem, normalizzerà i percorsi dei collegamenti simbolici in forma assoluta e li stamperà su stdout.