Você pode realmente não precisar de um script. Para mostrar qualquer link simbólico apenas na pasta atual, sem recorrer a nenhuma pasta filho:
encontrar . -maxdepth 1 -type l -print
Ou, para obter mais informações, use um dos seguintes:
encontrar . -maxdepth 1 -type l -exec ls -ld {} +
encontrar . -maxdepth 1 -type l -print0 | xargs -0 ls -ld
Para saber se um arquivo é um link simbólico, pode-se usar readlink
, o que não produzirá nada se não for um link simbólico. O exemplo a seguir não é muito útil, mas mostra como readlink
ignora arquivos e pastas normais. Use um dos seguintes:
encontrar . -maxdepth 1 -exec readlink {} +
encontrar . -maxdepth 1 -print0 | xargs -0 readlink
Observe que o acima -exec ... +
e xargs ...
são muito mais rápidos que -exec ... \;
. Gostar:
localização de hora / usr / bin -maxdepth 1 -type l -exec ls -ld {} \;
0m0.372s reais
usuário 0m0.087s
sys 0m0.163s
localização de hora / usr / bin -maxdepth 1 -type l -exec ls -ld {} +
0m0.013s reais
usuário 0m0.004s
sys 0m0.008s
localizador de horário / usr / bin -maxdepth 1 -type l -print0 | xargs -0 ls -ld
0m0.012s reais
usuário 0m0.004s
sys 0m0.009s