Solutions
Note that these problems will show just one possible solution or explanation. There are almost always many valid ways of solving the same problem!
Click the boxes below to see the solutions!
These questions are included to facilitate question during our scheduled class time on Tuesdays. They are not graded and you don’t need to submit your answers anywhere - they’re just here to help you get practice with the material.
- We won’t have time to cover all the commands we want to in this class. Lots of useful commands will be included in the lecture slides. You’ll need this for your homework - try finding the commands that do the following:
- Move a file from one location to another
- Delete a file
- Copy a file
Solution
mv src dest
rm file
cp src dest
- Do you know the difference between the terminal and the shell? If not, do you have any educated guesses?
Solutions
A terminal is your way of interacting with your computer in a text-based environment. For example, Macs come with the “Terminal” program or you can install “iTerm” that has more customizations. A shell is a program someone wrote run in a terminal that interprets the commands you type and presents output. There are different types of shells written by different people (e.g., bash
, zsh
, fish
, etc.).
- What is the command to list all files in the current directory, and recursively list the files in all subdirectories?
Solutions
ls -R
We found this by using man ls
to see the ls
documentation. Then by typing /
we were able to start searching the page for the term “recursive”.
- What is the flag we would pass to
ls
to sort files by size? (try searching theman
page instead of just scrolling!)
Solutions
ls -S
- Using
ssh
, can you print out the contents of your home directory onattu
without logging intoattu
? (You’ll still need your password, but you can do this without opening a login shell onattu
).
Solutions
ssh <username>@attu.cs.washington.edu ls
The important part of this problem is not the ssh
command itself, but to look at the format of man ssh
to see it’s something like ssh destination [command]
. Things in square brackets are optional while things without square brackets are required. The way of reading this is to say that ssh
requires a parameter destination
and optionally, you can pass a command
to run on the destination
.
find
is a command that we will learn about more in this class that allows you to search through your file system. Suppose that we are in thelecture1
directory from the videos (i.e. we have adir1
anddir2
subdirectory). Without actually running the command, do you think we could runfind dir1 dir2
(i.e. give it two directories are arguments)? Why or why not?
Solutions
Yes! If you look at man find
, you see the synopsis say
SYNOPSIS
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]
The pertinent part is [starting-point...]
. The square brackets mean this argument is optional and the ...
means it can accept one or more of them.