Eles fazem essencialmente a mesma coisa. Você está vendo uma diferença de tamanho de arquivo porque echo inclui uma nova linha no final, que ocupa um byte. Você pode pará-lo com -n , então echo -n "" > logfile resultará em um arquivo de 0 bytes