Você deve definir melhor "faça a mesma coisa". O primeiro executa um comando, o segundo executa um find e fork + grep do exec uma vez por arquivo encontrado e o terceiro executa um mínimo de três comandos - ou mais, se muitos arquivos forem encontrados para caber em uma linha de comando. No que diz respeito ao impacto da CPU / memória, eles mais claramente fazem não fazer a mesma coisa - a diferença entre 1, três e "um monte" de processos é significativa.
De uma perspectiva do sistema de arquivos, o sistema de arquivos é percorrido, cada arquivo é stat, e então aberto, totalmente lido e fechado. Então, todos eles fazem a mesma coisa a partir dessa perspectiva, e o sistema de arquivos não percebe uma diferença (além de talvez um percurso mais lento na segunda instância, devido à sobrecarga de bifurcação de processos bifiliados).
A saída gerada para a tela é diferente, e essa diferença pode ser determinada empiricamente, apenas executando os comandos com algumas estruturas de diretórios possíveis diferentes (uma maneira óbvia é aquela que o redgrittybrick mencionou).
Eles consomem diferentes quantidades de tempo para digitar, devido ao número de caracteres diferentes e possibilidades de erros de sintaxe.
E assim por diante. Há muitas maneiras pelas quais as coisas podem "diferir". :)