As perguntas 1 e 3 estão relacionadas e podem ser respondidas de cada vez. De acordo com a página grep
man (ênfase minha):
--exclude-dir=DIR
Exclude directories matching the pattern DIR from recursive searches.
Então, basicamente, o que você especifica com essa opção é um padrão e não um diretório em si, significando que /var/www/sometext*
ou mesmo /var/www/sometext/*
expandirá e corresponderá a qualquer arquivo / subdiretório do especificado (o O segundo é ainda mais preciso, já que o primeiro pode corresponder a outros diretórios cujo nome começa com sometext
.
A pergunta 2 pode ser explicada porque você provavelmente está com grep
ping dentro do diretório /dev
, que contém todos os dispositivos do sistema e, particularmente, alguns deles são considerados "infinitos", como, por exemplo, /dev/zero
, então o comando nunca terminará. É uma boa ideia usar --exclude-dir
para corresponder a todos os diretórios especiais, como /dev
, /sys
e assim por diante.