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