This is a very short and superficial list of some of the core Unix commands. You can get the full story with the "man" command: man pwd man cp man man etc. though its results are often too voluminous and complete for newcomers. (The original Unix man pages were typically only one page each; things are not necessarily better these days.) Suggestion: start editing this file to add your own discoveries to it. You need to learn some text editor; Word will not do. TextEdit on a Mac is fine if you set it to produce plain text. Pico and Nano are easy and already do the right thing. BASIC COMMANDS pwd print working directory where am I in the file system cd dir change directory to dir which is either relative to where you are or a full path from the root / of the file system . is the current directory .. is the parent directory cd .. will eventually take you to the root of the file system cd back to your home directory from anywhere ls list names of files in a directory (by default the one you're in) ls -l "long" -- give more information: size, permissions, time of last change, ... ls -t sort by time of last change -tr sorts in reverse time order -ltr is my most common ls command: lists newest at the end cp f1 f2 copy file f1 to file f2 cat f "concatenate": print file f cat f1 f2 ... prints files in order more f print f a screen at a time. "less" is a synonym head f print first 10 lines of f; head -N prints N tail f print last 10 lines of f; tail -N prints N mv f1 f2 "move" renames f1 to f2 rm f remove f (really removes it: there is no backup copy) rm f1 f2 ... cmp f1 f2 compare f1 with f2 diff f1 f2 "differences": a more helpful display of how f1 and f2 differ wc f word count: print number of lines, words and characters in f wc f1 f2 ... grep re f print all lines in f that match regular expression re grep re f1 f2 ... sort f sort file f into alphabetical order by line du "disk usage": prints a summary of all the directories and how much space they are using. Best used as du -k or du -m for space in KB or MB. du -a the same, but for all files; very useful for finding out what's in part of the file system hierarchy. ls -R runs ls recursively, so it does much the same FILENAME PATTERNS Almost all Unix commands deal with multiple input files. You can specify a list of files with shorthands (often called wild cards), patterns that match a set of files in a directory. The most frequently-used is *, which matches any sequence of characters in a name. So: wc * counts words, lines and characters in all files in the current directory wc *.txt does the same but only for files whose names end in .txt wc s*.txt the same, but names start with s and end with .txt The character ? matches a single character of a filename, so wc s??? runs wc on all files with 4-letter names that start with s. INPUT-OUTPUT REDIRECTION AND PIPES You can capture the output of any program in a file instead of having it show up on the screen by redirecting output with >: any.program ... >output.file The matching < tells a program to take its input from a file: any.program