Se você tiver a implementação rename com regexes Perl (como em Debian / Ubuntu /…, ou prename no Arch Linux), você precisará de $1 em vez de . Além disso, não há barras invertidas na captura de parênteses:
rename 's/(.*)_(.*)/$2_$1/' *_*
Se não, você precisa implementá-lo você mesmo.
#! /bin/bash
for file in *_* ; do
left=${file%_*}
right=${file##*_}
mv "$file" "$right"_"$left"
done
Nota: Conforme escrito, ambos os comandos renomear a_b_c para c_a_b . Para obter b_c_a , altere o primeiro grupo de captura para .*? no primeiro caso ou % para %% e ## para # no segundo.