Introduction to the command-line interface

For readers at home: this chapter is covered in the Your new friend: Command Line video.

It's exciting, right?! You'll write your first line of code in just a few minutes! :)

Let us introduce you to your first new friend: the command line!

The following steps will show you how to use the black window all hackers use. It might look a bit scary at first but really it's just a prompt waiting for commands from you.

Note Please note that throughout this book we use the terms 'directory' and 'folder' interchangeably but they are one and the same thing.

What is the command line?

The window, which is usually called the command line or command-line interface, is a text-based application for viewing, handling, and manipulating files on your computer. It's much like Windows Explorer or Finder on the Mac, but without the graphical interface. Other names for the command line are: cmd, CLI, prompt, console or terminal.

Open the command-line interface

Since we are using Glitch to host our blog, we can click on the Terminal button we used earlier.

Prompt

You now should see a white or black window that is waiting for your commands.

Prompt: OS X and Linux

You will see a $, like this:

command-line

$

Each command will be prepended by a $ and one space, but you should not type it. Your computer will do it for you. :)

Just a small note: in your case there may be something like app@nom-de-votre-projet before the prompt sign, and this is 100% OK.

The part up to and including the $ is called the command line prompt, or prompt for short. It prompts you to input something there.

In the tutorial, when we want you to type in a command, we will include the $, and occasionally more to the left. Ignore the left part and only type in the command, which starts after the prompt.

Your first command (YAY!)

Let's start by typing this command:

Your first command: OS X and Linux

command-line

$ whoami

And then hit enter. This is our result:

command-line

$ whoami
app

As you can see, the computer has just printed your username. On Glitch, your user is always called app. Neat, huh? :)

Try to type each command; do not copy-paste. You'll remember more this way!

Basics

Each operating system has a slightly different set of commands for the command line, so make sure to follow instructions for your operating system. Let's try this, shall we?

Current directory

It'd be nice to know where are we now, right? Let's see. Type this command and hit enter:

Current directory: OS X and Linux

command-line

$ pwd
/app

Note: 'pwd' stands for 'print working directory'.

You'll probably see something similar on your machine. Once you open the command line you usually start at your user's home directory.


Learn more about a command

Many commands you can type at the command prompt have built-in help that you can display and read! For example, to learn more about the current directory command:

Command help: OS X and Linux

OS X and Linux have a man command, which gives you help on commands. Try man pwd and see what it says, or put man before other commands to see their help. The output of man is normally paged. Use the space bar to move to the next page, and q to quit looking at the help.

List files and directories

So what's in it? It'd be cool to find out. Let's see:

List files and directories: OS X and Linux

command-line

$ ls -l
total 26704
-rw-r--r-- 1 app app    40960 Mar 24  2021 db.sqlite3
-rw-r--r-- 1 app app 27184909 Apr  6 13:59 debug.log
-rw-r--r-- 1 app app      125 Feb 24  2021 glitch.json
drwxrwxr-x 2 app app     1024 Apr 28  2022 icons
-rwxr-xr-x 1 app app      662 Mar 24  2021 manage.py
drwxrwxr-x 4 app app     1024 Apr  6 13:59 mysite
drwxrwxr-x 2 app app     1024 Jul 13  2017 public
-rw-r--r-- 1 app app     1358 Mar 31  2022 README.md
-rw-r--r-- 1 app app       13 Feb 24  2021 requirements.txt
-rw-r--r-- 1 app app      174 Apr 26  2022 start.sh
drwxrwxr-x 2 app app     1024 Jul 13  2017 views
...

Change current directory

Now, let's go to our Desktop directory:

Change current directory: Linux

command-line

$ cd mysite

Check if it's really changed:

Check if changed: OS X and Linux

command-line

$ pwd
/app/mysite

Here it is!

PRO tip: if you type cd m and then hit tab on your keyboard, the command line will automatically fill in the rest of the name so you can navigate faster. If there is more than one folder starting with "m", hit the tab key twice to get a list of options.


Create directory

How about creating a practice directory on your desktop? You can do it this way:

Create directory: OS X and Linux

command-line

$ cd ..
$ mkdir practice

This little command will create a folder with the name practice in your Glitch project. Execute refresh. You can check if the folder is there by looking in your Glitch file explorer or by running a ls command! Try it. :)

PRO tip: If you don't want to type the same commands over and over, try pressing the up arrow and down arrow on your keyboard to cycle through recently used commands.


Exercise!

A small challenge for you: in your newly created practice directory, create a directory called test. (Use the cd and mkdir commands.)

Solution:

Exercise solution: OS X and Linux

command-line

$ cd practice
$ mkdir test
$ ls
test

Congrats! :)


Clean up

We don't want to leave a mess, so let's remove everything we did until that point.

First, we need to get back to the root of your project:

Clean up: OS X and Linux

command-line

$ cd ..

Using .. with the cd command will change your current directory to the parent directory (that is, the directory that contains your current directory).

Check where you are:

Check location: OS X and Linux

command-line

$ pwd
/app

Now time to delete the practice directory:

Attention: Deleting files using del, rmdir or rm is irrecoverable, meaning the deleted files will be gone forever! So be very careful with this command.

Delete directory: Windows Powershell, OS X and Linux

command-line

$ rm -r practice

Done! To be sure it's actually deleted, let's check it:

Check deletion: OS X and Linux

command-line

$ ls

Exit

That's it for now! You can safely close the command line now. Let's do it the hacker way, alright? :)

Exit: OS X and Linux

command-line

$ exit

Cool, huh? :)

Summary

Here is a summary of some useful commands:

Command (Windows) Command (Mac OS / Linux) Description Example
exit exit close the window exit
cd cd change directory cd test
cd pwd show the current directory cd (Windows) or pwd (Mac OS / Linux)
dir ls list directories/files dir
copy cp copy file copy c:\test\test.txt c:\windows\test.txt
move mv move file move c:\test\test.txt c:\windows\test.txt
mkdir mkdir create a new directory mkdir testdirectory
rmdir (or del) rm delete a file del c:\test\test.txt
rmdir /S rm -r delete a directory rm -r testdirectory
[CMD] /? man [CMD] get help for a command cd /? (Windows) or man cd (Mac OS / Linux)

These are just a very few of the commands you can run in your command line, but you're not going to use anything more than that today.

If you're curious, ss64.com contains a complete reference of commands for all operating systems.

Ready?

Let's dive into Python!

results matching ""

    No results matching ""