Es posible que realmente no necesite un script. Para mostrar los enlaces simbólicos solo en la carpeta actual, sin recurrir a ninguna carpeta secundaria:
encontrar . -maxdepth 1 -type l -print
O, para obtener más información, use uno de:
encontrar . -maxdepth 1 -tipo l -exec ls -ld {} +
encontrar . -maxdepth 1 -type l -print0 | xargs -0 ls -ld
Para saber si un archivo es un enlace simbólico, se puede usar readlink, que no generará nada si no es un enlace simbólico. El siguiente ejemplo no es muy útil, pero muestra cómo readlinkignora los archivos y carpetas normales. Use uno de:
encontrar . -maxdepth 1 -exec readlink {} +
encontrar . -maxdepth 1 -print0 | xargs -0 readlink
Tenga en cuenta que los anteriores -exec ... +y xargs ...son mucho más rápidos que -exec ... \;. Me gusta:
hora find / usr / bin -maxdepth 1 -type l -exec ls -ld {} \;
0m0.372s reales
usuario 0m0.087s
sys 0m0.163s
tiempo find / usr / bin -maxdepth 1 -type l -exec ls -ld {} +
0m0.013 reales
usuario 0m0.004s
sys 0m0.008s
tiempo find / usr / bin -maxdepth 1 -type l -print0 | xargs -0 ls -ld
0m0.012s reales
usuario 0m0.004s
sys 0m0.009s