Skip to main content
Contents Index
Search Book
close
Search Results:
No results.
Dark Mode Prev Up Next
\(\newcommand{\N}{\mathbb N}
\newcommand{\Z}{\mathbb Z}
\newcommand{\Q}{\mathbb Q}
\newcommand{\R}{\mathbb R}
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\definecolor{fillinmathshade}{gray}{0.9}
\newcommand{\fillinmath}[1]{\mathchoice{\colorbox{fillinmathshade}{$\displaystyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\textstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptscriptstyle\phantom{\,#1\,}$}}}
\)
Section B.1 Bash Shell Cheat Sheet
Getting help with shell commands.
man <command-name>
e.g.
man cd retrieves the manual for the change directory command.
<command-name> --help
Request the
help page (when it exists) for the specified command. Note that not every command supports
--help.
e.g.
cd --help retrieves help for the change directory command.
File and Directory Commands.
pwd
Print working directory displays the path of the current working directory.
e.g.
pwd prints the path of the current working directory.
whoami
The
whoami prints the userid of the current user.
e.g.
whoami prints the userid.
ls
List displays basic information about files and directories.
e.g.
ls lists directories and files in the current directory.
e.g.
ls -l lists directories and files in the current directory using a long listing.
e.g.
ls ~ lists directories and files in the userβs home directory.
touch <file-name>
The
touch command is commonly used for file creation. Its intended primary function is to update its timestamp, by "touching" it. See
man touch for more information on the intended use.
e.g.
touch newfile.txt creates an empty file named newfile.txt.
cd <directory-name>
Change directory to <directory-name>.
e.g.
cd / changes the current directory to the root directory.
e.g.
cd ~ changes the current directory to the userβs home directory.
e.g.
cd .. changes the directory to the immediate parent directory.
mv <old-name> <new-name>
Move (rename) files or directories.
e.g.
mv old.txt new.txt changes the name of old.txt to new.txt.
rm <file-name>
Remove deletes a file or directory.
e.g.
rm junk.txt removes the file named junk.txt.
mkdir <directory-name>
Make directory with name <directory-name>.
e.g.
mkdir newdir makes a new directory with the name newdir.
rmdir <directory-name>
Remove directory with specified name <directory-name>
e.g.
mkdir olddir removes (deletes) the directory with the name olddir.
The Basics: Reading, Writing, Counting, etc.
echo <text>
The echo command displays a line of text and/or requests the value of a variable from the shell and displays its value. Often used with output redirection.
e.g.
echo 'Hello World!' print the text βHello World!β on the standard output.
e.g.
echo $USER prints the value of the USER environment variable on the standard output.
cat <file-name>
The concatenate prints file contents on the standard output after concatenation. Note that with a single file, it just prints that file. It is often used with output redirection.
e.g.
cat file.txt prints the contents of file.txt on the standard output.
e.g.
cat file1.txt file2.txt prints the contents of the concatenation of file1.txt and file2.txt on the standard output.
read <variable-name>
The read command reads a line or variable from the keyboard. It is often used with scripts or input redirection.
e.g.
read MYVAR takes input from the keyboard and directs it into a variable called MYVAR.
wc <file-name>
The word count command performs a count of lines, words, and bytes for each file.
e.g.
wc file.txt reports the count of lines, words, and bytes in file.txt.
history
The history command displays a list of previously executed shell commands, allowing users to review their command history.
Input and Output Redirection.
Input redirection using <
Input redirection uses using <to allow the user to redirect the input from a file rather than the keyboard.
e.g.
wc < info2count.txt performs the
wc command on the information in the file info2count.txt.
Output redirection using > or >>
Output redirection allows the user to redirect the output from the standard output to a file using > for overwriting or >> for appending.
e.g.
echo 'I love open source!' > file.txt writes the line βI love open source!β into the file file.txt replacing the current contents or making a new file if it doesnβt already exist.
Piping |
A pipe | in the bash shell allows you to redirect (pipe) the output of one command into the input of another command.
e.g.
ls | wc runs the command
ls>and uses the output of the
ls command as the input into the
wc command.
File Permissions.
chown <newuser:newgroup> <file-name>
The chown command is used to change the file owner and/or group.
e.g.
chmod pearcej file.txt changes the owner of file.txt to pearcej.
e.g.
chmod :friends file.txt changes the group of file.txt to friends.
chmod <change><which> <file-name>
The
chmod command is used to change permissions. The following symbols are the most commonly used:
+ change by adding permission
- change by removing permission
w which permission: write
x which permission: execute
e.g.
chmod +x helloworld.sh adds execute permission for all users to the helloworld.sh file.
Need more detail?
For more information on any of these commands, see
SectionΒ 3.2 or use the
man pages.