24wi ver.
Note: this is for the Winter 2024 iteration of CSE 391. Looking for a different quarter? Please visit https://courses.cs.washington.edu/courses/cse391/.
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 thels
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 ofman ssh
to see it’s something likessh destination [command]
. Things in square brackets are optional while things without square brackets are required. The way of reading this is to say thatssh
requires a parameterdestination
and optionally, you can pass acommand
to run on thedestination
. -
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 saySYNOPSIS 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.