Resources

Textbook

The class has one required textbook: Computer Systems: A Programmer’s Perspective, 3rd Edition by Bryant and O’Hallaron. We will also be using an online Wikibook, C Programming, when we learn about C programing.

Learning Resources

Here are some other resources that might help you:

Linux Command Summary

For more information on the following commands, type man and the name of the command to see a help manual for that command. You can open another terminal window at the same time to type the man command and see the helpful text. Some commands, like alias, are built into bash. For these, type man bash to get help. If you type man <command> and the response is No manual entry for <command>, it is likely built into bash. Online help is also available for shell built-in commands and other core commands.

Command Description
alias define an alternative to a command
cat concatenate files and print on standard output​
cd change the current directory to another​
chmod change file mode bits
cp copy files and directories​
df report file system disk space usage
diff compare files line by line
echo print a string of text
exit end shell session and close terminal
find search for files in a directory hierarchy
free display amount of free and used memory in the system
grep scan files and print lines that match patterns
groups print the groups a user is in
head output the first part of files
history list recently typed commands
kill send a signal to a process (usually to end it)
less, more show the contents of a text file​
ls list directory contents​
man show help information about Linux commands
mkdir make directories
mv move or rename files​
passwd change user password
ping send an echo request to another machine
ps list the current processes
pwd print name of current directory​
rmdir remove empty directories
ssh login to a remote machine
tail output the last part of files
tar an archive utility for (de)compressing files
top display Linux processes
uname print system information
who show who is logged on

If you want even more commands at a glance, check out this cheat sheet.

Terminal customization

Helpful Tutorials