Sua pergunta
O que o gcc -o sample sample.c
realmente faz
O comando que você colou aciona gcc
para compilar sample.c
.
Como resultado, você obterá uma saída / executável com o mesmo sample
.
Os parâmetros (como -o no seu exemplo que definiu o nome do arquivo de saída) são explicados na página man do gcc.
Você pode abri-lo executando man gcc
Estou citando a seção -o
da página man aqui
Em geral
A Wikipedia explica uma boa quantidade de gcc aqui .
Estou citando apenas o começo - mas o artigo completo vale uma leitura e oferece muitos links e referências adicionais
% bl0ck_qu0te%