Every command
$ Put before a name to use a variable's value, as in $HOME.$1 The first word typed after a script's name.$PATH The list of folders the shell checks, in order, for commands.& Runs a command in the background and gives you the prompt back.* Matches any run of characters in a file name.--help Prints a short summary of a command's options.-n Sets how many lines head or tail prints, as in tail -n 3../script.sh Runs a script in the current folder; it needs execute permission..bashrc A file of shell commands run each time a new terminal starts.2> Saves error messages into a file.2>&1 Sends error messages to the same place as normal output.644 Owner can read and write; everyone else can read. Usual for web files.755 Owner can do everything; others can read and enter. Usual for folders.> Saves output into a file, replacing what was there.>> Adds output to the end of a file.? Matches exactly one character in a file name.absolute path A path starting with / that names the full route from the top.alias Makes a short name stand for a longer command.cat Prints a whole file in the terminal.cd Changes the folder you are working in.cd - Goes back to the folder you were in before the last cd.cd .. Moves up one level, to the parent folder.chmod Changes a file's permissions.chmod +x Lets a file be run as a program.cp Copies a file to a new name or folder.cp -r Copies a folder and everything inside it.Ctrl+C Stops the program running in the terminal in front of you.cut -d -f Keeps chosen fields, with -d naming the separator and -f the field numbers.dot file A file or folder whose name starts with a dot, hidden from plain ls.echo Prints its words, handy for previewing what a wildcard matches.env Lists every exported variable.environment variable A named value the shell keeps and passes to programs.exit Closes the ssh connection and returns you to your own computer.export Passes a variable on to programs started from this shell.find Searches a folder and all folders inside it for matching files.find -delete Deletes every match; run the search without it first.find -iname Like -name but ignores capital letters.find -name Matches file names against a pattern, such as "*.bak".find -type Keeps only files (f) or only folders (d).for loop Repeats the lines between do and done once for each item in a list.grep Prints the lines of a file that contain a pattern.grep -c Counts the matching lines in each file.grep -i Searches without caring about capital letters.grep -l Prints only the names of files with a match.grep -n Adds the line number to each match.grep -r Searches every file inside a folder.grep -v Prints the lines that do not match.head Prints the first lines of a file, 10 unless you say otherwise.kill Sends a process a signal asking it to finish.kill -9 Forces a process to stop without a chance to clean up.less Opens a long file in a scrolling viewer; press q to leave.ls Lists the files and folders in the current folder, or a folder you name.ls -a Lists hidden names too, the ones that start with a dot.ls -h Shows sizes as K, M or G, used with -l.ls -l Shows one item per row with permissions, owner, size and date.ls -S Sorts the list with the largest files first.man Opens the full manual page for a command.mkdir Makes a new folder.mkdir -p Makes a folder and any missing parent folders along the path.mv Moves or renames a file or folder.nano A small text editor that runs inside the terminal.Permission denied The message you get when your account lacks the right permission.PID The process ID, the number used to point at one process.pipeline A chain of commands joined by pipes, built one stage at a time.process A program while it is running, with its own number.prompt The text before the cursor showing your user, computer and folder.ps aux Lists every running process with its CPU and memory use.pwd Prints the full path of the folder you are in.quotes around names Wrap a name with spaces in quotes so the shell reads it as one.relative path A path that starts from the folder you are in.rm Deletes files at once, with no trash to restore them from.rm -f Deletes without asking and without complaining about missing files.rm -i Asks before deleting each file.rm -r Deletes a folder and everything inside it.rm -rf Deletes folders and contents with no questions; check every name first.rmdir Removes a folder only if it is empty.rwx Read, write and execute, shown for owner, group and others in ls -l.scp Copies files between computers; server paths start with name and colon.sed -i Saves sed's change back into the file.sed /pattern/d Deletes each line that contains the pattern.sed s/// Replaces text, as in sed 's/old/new/g' file.shebang The first line starting with #! that names the program to run the file.shell The program that reads what you type and runs it, usually bash.shell script A text file of commands bash runs from top to bottom.sort Prints lines in order, alphabetical by default.sort -n Sorts by numeric value, so 10 comes after 9.sort -r Reverses the sort order.sort -t -k Sorts by one field, with -t naming the separator and -k the field.source Runs a file in the current shell, often to reload .bashrc.ssh Logs in to another computer and gives you a prompt there.ssh-keygen Makes a key pair so you can log in without typing a password.Tab completion Press Tab after a few letters and the shell finishes the name for you.tail Prints the last lines of a file, 10 unless you say otherwise.tail -f Keeps printing new lines as they are added to a log.tar -czf Packs files into a compressed .tar.gz archive.tar -tzf Lists what is inside a .tar.gz without unpacking it.tar -xzf Unpacks a .tar.gz archive.tee Shows output on screen and saves it to a file at once.terminal The window where you type commands and read the replies.touch Makes an empty file, or updates the date on an existing one.uniq Collapses repeated neighbouring lines into one.uniq -c Prints how many times each line repeated; sort first.unzip Unpacks a .zip file; -l lists its contents.wc -l Counts the lines in a file or in piped text.which Prints the full path of the program a name would run.working directory The folder your commands run in unless you name another.zip -r Packs a folder into a .zip file.| Sends the output of one command into the next as its input.~ Short for your home folder, such as /home/you.