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 readlink
ignora 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