Here is a general outline of the key concepts and commands (arranged by topic) that you should know for Exam 01.

Introduction

Concepts

Commands

  1. git

    Version control system for managing our files.

Files

Concepts

Commands

  1. ls

    List the contents of a directory (long, human-readable, sorted)

  2. chmod

    Set permissions using octal and symbolic arguments.

  3. stat

    View the inode information fora file.

  4. du

    View the total disk usage for a file or directory.

  5. ln

    Create hard and soft links.

  6. find

    Search directory for files by name and type.

Process

Concepts

Commands

  1. ps

    List the processes for the current user and for the whole system.

  2. top

    Interactively view and manage processes.

  3. kill

    Signal a process by PID.

  4. time

    Measure how long it takes a process to execute.

  5. pkill

    Signal a process by name.

I/O Redirection

Concepts

Commands

  1. tee

    Redirect stdin to both stdout and a file.

  2. write

    Write to another users terminal.

Networking

Concepts

Commands

  1. scp / sftp / rsync

    Transfer a file from one machine to another.

  2. ip / ifconfig

    List the IP addresses of the current machine.

  3. tmux / screen

    Maintain a persistent shell session.

  4. nc / telnet

    General purpose tools to communicate with TCP-based network services.

  5. wget / curl

    Communicate using HTTP (ie. download files from the web).

Developer Tools

Concepts

Commands

  1. gcc

  2. ldd

  3. make

  4. valgrind

  5. gdb