Comandos importantes: ls (para listar o conteudo da pasta/diretorio) cd nome (para mudar para o diretorio "nome") cd .. (para ir para o diretorio acima) mkdir nome (para criar um diretorio chamado "nome") cat nome (para ver o conteudo do arquivo "nome") rm nome (para remover o arquivo "nome") rm -rf nome (para remover o diretorio "nome") mv nome1 nome2 (para renomear o arquivo "nome1" para "nome2" -- sobrescreve nome2 se ele ja existir) gcc -ansi -pedantic -Wall -Werror -o labXX labXX.c (para compilar o arquivo labXX.c) ./labXX (para executar o programa labXX gerado e mostrar a saida na tela) ./labXX < arqYY.in (para redirecionar a entrada) ./labXX > arqYY.res (para redirecionar a saida para o arquivo arqYY.res) ./labXX < arqYY.in > arqYY.res (para redirecionar a entrada e a saida) diff arqYY.out arqYY.res (para comparar o arquivo gerado pelo seu programa com o arquivo de saida esperado) Seja labXX seu arquivo executavel. Suponha que os arquivos de teste vao de arq01.in ate arqWW.in. Voce pode usar o seguinte para realizar todos os testes de uma vez: for ((i=1; i<=WW; i++)); do num=$(printf %02d $i); echo "Arquivo sendo testado: arq$num.in"; ./labXX < arq$num.in > arq$num.res; diff arq$num.out arq$num.res; done Se voce utilizar a biblioteca math.h, eh necessario o parametro "-lm" ao fim da linha de compilacao do gcc: gcc -ansi -pedantic -Wall -Werror -o labXX labXX.c -lm