Be familiar with the following topics for the midterm: Text Editors For your editor of choice, know the keystrokes to: - exit without saving - save without exiting - save and exit - copy(yank),delete, and paste Terminal basics - Understand the information displayed in the bash prompt, for example: kellarso0@isengard:~/linux$ This prompt says I have a shell running on Host isengard as User kellarso and my working directory is ~/linux - Simple file navigation - The difference between using relative and absolute paths - Know the meaning of ~, ., and .. - The importance of capitalization Commands to Be Familiar With - ls and its -a and -l options - cp and its -r option - wc and its -c, -w, and -l options - rm and its -r option - bash and its -e and -x options - mkdir and its -p option - tar and how to extract (-xvf) and create (-cvf) tar archived files (tarball files) - rmdir - pwd - mv - cat - echo - touch - file - find Variables - The different ways to set and see the contents of shell variables - The difference between 'single' and "double" quotes - Curly braces in variables - What happens when you try to echo an unset variable (a variable that has no value set) Wildcards - *, ?, and the many ways to use [] - Be able to tell what a specific wildcard will match given the files/directories in the current working directory Basic Bash scripting - Command line arguments, using $1,$2,... - Be able to describe what a simple script does - Be able to write a simple script - Know how while-loops are structured I/O Manipulation/Redirection - Using the echo command with redirection - <, >, >>, 2>, 2>> Misc - Exit status, $? - What a zero vs. non-zero code means - What command you can execute to view it at the terminal - Control signals (Ctrl-C, Ctrl-D) - The difference between Ctrl-C (SIGINT) and Ctrl-D (EOF)