find . * -exec ll {} \;
Passa . e a lista de arquivos não ocultos no diretório atual (expandida de * pelo shell), incluindo o subdiretório test (e se algum desses arquivos tiver sido iniciado com - ou se houvesse um arquivo chamado ! ou ( , ) ... isso faria com que find reportasse um erro de sintaxe).
Você está dizendo ao find para procurar arquivos recursivamente em . , mas também em test . Portanto, find encontrará test duas vezes e também test/file123 duas vezes.
ll que eu suponho que é um script que faz ls -l é uma ferramenta para listar detalhes de arquivos ou arquivos do tipo diretório, os detalhes de todos os arquivos nesse diretório (a menos que você passe a opção -d ).
Portanto, ll será chamado com ./test e test como argumentos, em que casos se listará os detalhes dos arquivos em seu conteúdo (incluindo test/file ).
E será chamado com ./test/file123 e test/file123 .
Aqui, você deseja:
find . -exec ls -ld {} +
(usar + significa que mais de um arquivo será passado como argumentos para ls , o que é mais eficiente e também permite ls classificar essa lista de arquivos).
Seu find pode até suportar um predicado -ls que se comporta como uma lista de bits ls -lsid :
find . -ls