A raiz do seu problema é que você disse para encontrar links simbólicos. Isso raramente é uma boa ideia.
Em vez disso, continue agindo nos links simbólicos e filtre os que você deseja.
Você está filtrando arquivos pelo seu número de inode, mas isso parece um erro: parece que você está procurando por arquivos que sejam iguais a /tmp
, não arquivos que tenham o mesmo número de inode que /tmp
. Seu comando também encontra arquivos que possuem o mesmo inode que /tmp
, mas estão localizados em um sistema de arquivos diferente.
Muitas shells (ksh, bash, zsh, dash) têm um operador -ef
para o comando test
(também escrito [ … ]
) que testa se dois arquivos são iguais.
find / -path /media -prune -o -type l -exec ksh -c 'for x; do [ "$0" -ef "$x" ] && printf %s\n "$x"; done' /tmp {} +
Como alternativa, você pode fazer isso em zsh.
print -lr -- /^media/**/*(@e\''[[ $REPLY -ef /tmp ]]'\')