Command Line Basics
Command Line Basics tests fluent use of a POSIX-style shell: moving around the filesystem, reading help, expanding names and variables, and combining commands safely. The exam assumes bash-like behavior but rewards understanding what the shell does before a command runs.
Navigation and help
Paths are absolute when they start with / and relative otherwise. . is the current directory, .. the parent, ~ the home directory, and - the previous directory. pwd prints the working directory; ls -l shows long listings, ls -a includes dotfiles; cd changes directory. Use man command for manual pages, command --help for a quick summary, and type command to see whether it is a shell builtin, alias, or executable found through PATH.
Expansion and quoting
The shell expands globs before execution: * matches any string, ? one character, and [abc] a set. Single quotes preserve everything literally; double quotes still expand $VARIABLES and $(command) but suppress globbing and word splitting. $PATH is a colon-separated search path; a command not found usually means it is absent from PATH or not installed.
Worked example
ls /etc/.conf lists configuration files because the shell expands the pattern and passes matching paths to ls. ls "/etc/.conf" passes the literal pattern, so ls reports no such file. To search recursively instead, use find /etc -name '*.conf' and quote the pattern so find, not the shell, interprets it.
Traps
Unquoted variables containing spaces split into several arguments; rm * deletes everything in the current directory; ~user is not the same as $USER; and man sections matter (man 5 passwd reads the file format, not the command).