gcc -v não é responsável pela informação da versão, mas sim pelos programas que são invocados pelo compilador, enquanto gcc --version é responsável por exibir a versão do gcc para a saída padrão. Se é isso que você quer, então gcc --version | tee ~/defaultGCC.txt funcionará. No entanto, se a saída de gcc -v for o que você realmente deseja, então gcc -v &> ~/defaultGCC.txt fornecerá exatamente o que você deseja.