Introduction to UNIX tools

These are basic help sheets to help you get used to using UNIX. Also, don't forget the UNIX `man' (manual) command.

UNIX commands

gdb: (Symbolic debugger, analogous to one part of the integrated development environment in the Windows world)

vi: (Most popular UNIX editor today)

emacs: (Full-featured UNIX editor, macros, modes for C++, Java, etc.)


gcc/g++/javac: (GNU C/C++/Java compiler)

  C program:       file.c
  C++ program:     file.cc or file.C or file.cxx or file.cpp
  Header file:     file.h    (for example inside file.c:  #include "file.h")
  Java files:      file.java
  Assembly files:  file.s
  Executable (binary) file:  a.out (default, but binaries can have any name)

  a.out:  file.c file.h
    gcc file.c    => a.out
  file.s:  file.c file.h
    gcc -S file.c => file.s    # assembly
  a.out:  file.s
    as file.s     => a.out
  a.out:  file.cc file.h  (or sometimes file.hh instead of file.h)
    g++ file.cc   => a.out
  Execute a.out:  a.out
    ./a.out
  debugging with gdb:  file.c  (or file.cc)
    gcc -g -O0 file.c
    g++ -g -O0 file.cc
    gdb a.out