PyCon intro to open source/Windows terminal navigation

From OpenHatch wiki


The filesystem on your computer is like a tree made up of folders (also called "directories") and files. The filesystem has a root directory called /, and everything on your computer lives in subdirectories of this root directory.

We often navigate the filesystem graphically by clicking on graphical folders. We can do the exact same navigation from the command line.

There are three commands that we'll be using at a command prompt to navigate the filesystem on your computer:

  • ls
  • pwd
  • cd

ls lists the contents of a directory.
pwd gives the full directory path to your current directory.
cd moves you into a new directory (it stands for "change directory").

Let's practice using these commands.

Open a command prompt:

1. For this tutorial, we are always going to use Git Bash rather than the Windows cmd program, because Git Bash gives us access to several useful command line utilities.

2. Git Bash uses Unix-style navigation commands and forward-slashes; if you already know Windows terminal navigation, please briefly suspend what you've learned and practice these Git Bash commands instead. :)

3. Please start Git Bash either via a shortcut icon on the Desktop, or from your Start menu.

Practice using ls, pwd, and cd

(note that ls uses l the letter, not the number 1)

Type each of these commands and hit enter:

ls

This lists all the files in your current directory.


pwd

This displays the full directory path to your current directory.


cd /

This will change you into the / root directory.


ls

This lists the contents of the / root directory.


cd c

This will change you into the c subdirectory of the / root directory.


ls

You should see a list of all the files in /c. This probably includes a "Documents and Settings" directory and a "Program Files" directory. (Vista users, you may have a "Users" directory)


pwd

This displays the full directory path to your current directory, /c/.


cd Documents and Settings

This will change you into the Documents and Settings subdirectory of the /c/ directory. (Vista users, if you don't have a "Documents and Settings" change into the "Users" directory instead)


ls

You should see a list of all the files in /c/Documents and Settings/. This probably includes a directory for your username. We call this your "home directory"


cd ..

.. means "parent directory", so this command moved you up to the parent directory. You were in /c/Documents and Settings/, so now you are in /c/.


ls

This lists the contents of the /c/ directory, confirming where you are.

Tips

  • You can use Tab to auto-complete directory and file names. So from inside the /c/ directory, if you type cd Docu and hit Tab, the command prompt will auto-complete the directory name, and you can then hit enter to change into the Documents and Settings directory.
  • The command prompt maintains a command history. You can use the up arrow to cycle through old commands.

Check your understanding

Answer these questions. Experiment at the command line if you need to! If you aren't sure about an answer, ask a helper.

  1. What directory are you in after starting a new command line prompt?
  2. After starting a new command line prompt, how would you get to the root directory?
  3. How do you check what files and directories are in your current working directory?
  4. If you are in directory /c/, and you want to get to /c/Documents and Settings/projects, how would you do that?
  5. What are 2 ways to avoid typing out a full navigation command? (hint: one requires that you've run the command before)
  6. What is the difference between a command prompt and a Python prompt?

Insert non-formatted text here===Success!===

You've practiced using ls, pwd, and cd to navigate your computer's filesystem from the command prompt.

« Back to the main prep page