Making with Code

Terminal Adventure #

This lab will explore one of the most important tools we’ll use all year: the Terminal. The Terminal is what we’ll use to navigate our filesystem, run code files, install software, and do all kinds of other tasks.


๐ŸŒ Github Repo: github.com/Making-with-Code/lab_terminal_adventure


[0] Explore the Terminal #

First, we want to make some folders to store our work. Do this we’ll be using these three commands:

Command What it does
ls List what’s in the current directory (folder).
mkdir Make a new directory (folder)
cd folder Go to folder
cd .. Go up one to the previous folder
๐Ÿ‘พ ๐Ÿ’ฌ Windows Users

Windows users should use Powershell wherever it says Terminal.

You may see more information output than your Mac peers, but all commands should work the same.

๐Ÿ’ป Open Terminal and use ls to list out where you are in your folder system.

ls

๐Ÿ‘€ You should see something like this.

Applications         Downloads            Pictures
Creative Cloud Files Library              Public
Desktop              Movies
Documents            Music

[1] Starting your Adventure #

๐Ÿ’ป Let’s have a look at what’s in the lab_terminal_adventure repository with ls. A repository is just a fancy word for a folder that is stored in the cloud using a version control software.

ls

You should see the following output:

adventure	    returnToShip.py  poetry.lock	pyproject.toml

returnToShip.py is a runnable Python file (you can tell by the .py at the end).

๐Ÿ’ป Run it to see what happens:
python returnToShip.py

You should see the following output:

Your adventure has only just begun. You are not yet ready to return
to the ship. More secrets await you in the ocean's depths.
๐Ÿ‘พ ๐Ÿ’ฌ Your challenge is to see if you can get the treasure, using just the Terminal

Use Terminal to explore the contents of the adventure directory.

๐Ÿ’ป Begin by going into into the adventure directory:

cd adventure
ls

You should see the following output:

seafloor	sinking.txt

sinking.txt is a text file, so we can read it.

๐Ÿ’ป Try using the cat command:

cat sinking.txt

๐Ÿ’ป Continue exploring into the depths of the sea to find the treasure! Return to the lab_00_terminal_adventure directory and run the returnToShip.py file to see if you were successful. If you were unable to escape the monster, try again!


Terminal Commands #

Below are some Terminal commands which might come in handy on your adventure.

ย  ย  ย  ย  Command ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  What it does
ls List what’s in the current directory.
cd ~ Go to your home directory
cd folder Go to folder
cd .. Go up a level in your directory system
open file.txt Opens file.txt with its default program
cat file.txt Prints out the contents of file.txt
python x.py Runs the Python program x.py
mv old.txt new.txt Renames a file from old.txt to new.txt. Also works for directories.
mv file.txt dir Moves a file to directory dir.
mv dir1 dir2 Moves dir1 to dir2 or renames if dir2 doesn’t exist.
cp old.txt new.txt Copy a file from old.txt to new.txt.
mkdir bag Creates a new directory called bag
pwd Prints the path to where you are in the filesystem
rm file.txt removes (deletes) the file file.txt
rm -d dir removes (deletes) the directory dir
rm -r dir recursively removes (deletes) the directory dir and all subdirectories and files within that directory. Be careful, this is a powerful tool!

[2] Deliverables #

โšกโœจ You will end this lab by collecting the treasure!

โœ” Once you’ve successfully completed the adventure be sure to fill out this Google form.

๐Ÿ‘พ ๐Ÿ’ฌ Exiting the poetry shell

Remember, when you want to exit the shell, you can type exit or ^D


[3] Extension #

๐Ÿ’ป Once you finish the Terminal Adventure, you may either explore Vim OR continue exploring drawing with the Python Turtle library.

Vim #

Vim is text-editor that you can use to write code directly inside your Terminal. Ms. Brown or Ms. Genzlinger may have used vim to activate Poetry on your computer.

๐Ÿ’ป To learn vim, in your Terminal type:

You can create a new tab in your terminal with โŒ˜+t

vimtutor

Vimtutor is a built in tutorial for learning vim.

Python Turtle #

๐Ÿ’ป Go to bit.ly/day1_cs9 and continue experiementing with Python code. Can you figure out how to:

  • draw a polygon of any number of sides? (triangle, hexagon, etc.)
  • draw the olympic rings
  • draw a bullseye