Prefiero usar el comando 'cambiar nombre', que toma expresiones regulares estilo Perl:
rename "s/ /_/g" *
Puedes hacer un simulacro con el indicador -n:
rename -n "s/ /_/g" *
Esto debería hacerlo:
for file in *; do mv "$file" `echo $file | tr ' ' '_'` ; done