Shell Reference
Basic Commands
cat
displays the contents of its inputs.cd path
changes the current working directory.cp old new
copies a file.find
finds files with specific properties that match patterns.grep
selects lines in files that match patterns.head
displays the first few lines of its input.ls path
prints a listing of a specific file or directory;ls
on its own lists the current working directory.man command
displays the manual page for a given command.mkdir path
creates a new directory.mv old new
moves (renames) a file or directory.pwd
prints the user’s current working directory.rm path
removes (deletes) a file.rmdir path
removes (deletes) an empty directory.sort
sorts its inputs.tail
displays the last few lines of its input.touch path
creates an empty file if it doesn’t already exist.wc
counts lines, words, and characters in its inputs.whoami
shows the user’s current identity.
Paths
/path/from/root
is an absolute path./
on its own refers to the root of the filesystem.path/without/leading/slash
is a relative path..
refers to the current directory,..
to its parent.*
matches zero or more characters in a filename, so*.txt
matches all files ending in.txt
.?
matches any single character in a filename, so?.txt
matchesa.txt
but notany.txt
.
Combining Commands
command > file
redirects a command’s output to a file.first | second
connects the output of the first command to the input of the second.A
for
loop repeats commands once for every thing in a list:for variable in name_1 name_2 name_3 do ...commands refering to $variable... done
- Use
$name
to expand a variable (i.e., get its value). history
displays recent commands, and!number
to repeat a command by number.bash filename
runs commands saved infilename
.$*
refers to all of a shell script’s command-line parameters.$1
,$2
, etc., refer to specified command-line parameters.$(command)
inserts a command’s output in place.