Considerando que você está usando o Linux, provavelmente está usando o GNU find. Isso fornece um "." (diretório de trabalho atual) se nenhum parâmetro de diretório explícito for fornecido.
O utilitário find
mostra apenas o que encontra (na verdade não diz onde está procurando ), então você pode não ter notado isso. Aparentemente, não há nada em (ou sob) seu diretório de trabalho atual de propriedade de USERNAME
, mas existe no computador. Quando você deu um "/" como parâmetro, find
pesquisou em todo o computador, começando no nível raiz "/".
Em relação a
find / -user USERNAME -group GROUPNAME
find
trata como se você dissesse
find / \( -user USERNAME -a -group GROUPNAME \)
POSIX explica isso assim:
Conjunction of primaries; the
AND
operator is implied by the juxtaposition of two primaries or made explicit by the optional-a
operator. The second expression shall not be evaluated if the first expression is false.
No seu comando, estas são primárias :
-user USERNAME
-group GROUPNAME
Leitura adicional: