Não, não é obrigatório. grep "string" . significa procurar por string em um arquivo chamado . . Se você deseja executar grep em todos os arquivos no diretório atual, use grep string * e, se quiser procurar em todos os arquivos em todos os subdiretórios recursivamente, faça grep -r string .