The basics: %> gcc myfile.c --produces an executable file called a.out in the current directory To run: %>./a.out %> gcc -o myExec myFile.c --compiles myFile.c into an executable called myExec To run: %> ./myExec Multiple Files To "just" compile a c file into an object file: %> gcc -c myfile.c This will produce myfile.o which can be linked in with other .o files to make your program. To "link" object files together to make an executable called myExec: %> gcc myfile.o somefile.o anotherfile.o -o myExec A SHORTHAND way to go through these steps is to do this: %> gcc -c *.c %> gcc *.o -o myExec Makefiles