Bite Size Programming - How to start using the command line (part 1)
Photo by Thanh Tran on Unsplash
Just getting started with becoming a programmer and want to start using the command line? This post is just for you.
Do note that I’ll be going through command line commands for computers running macOS. If you’re using a Linux computer, the commands are very similar and you should be able to learn something too.
As a primer, if you don’t already know what the command line interface (CLI) is, you can read my post on Why Programmers use the Command Line here.
So, you already know why programmers prefer to use the CLI instead of doing things like everyone else and you’re ready to pick it up. Where should you begin?
Most commonly used commands
You should start by orientating yourself to the CLI environment.
Here’s the first thing you need to know about the CLI: you are always working from a specific directory.
(A “directory” is just a more technical way to say “folder”.)
What we normally call a “folder” is also known as a “directory”
That means that whenever you write a command in Terminal, you are giving a command with respect to the current location (ie. directory) you’re currently in.
Therefore, you need a way to find out your working directory at any time. To do this, you can run your first shell command.
pwd - print working directory
# running this pwd # prints this out /Users/nicholasang
pwd stands for print working directory. When you enter this command into the shell, it will output a path to the directory that you’re currently in within the shell.
Great! Now let’s move on to a few more interesting, frequently used commands.
ls - list items in directory
While seeing your working directory is useful, it’s meaningless if you cannot see the contents inside the directory.
It’d be like being in a hotel room but not knowing how you got in there. There are no windows and you can’t tell which country or city this room is located. No matter how amazing the room is, you can’t know what’s happening outside relative to you. Kind of a bummer, eh?
# running this ls # prints this out Applications Documents Library Pictures fundamentals Code Downloads Movies Public macports Desktop Dropbox Music anaconda3
ls prints out all the names of files and sub-directories in your working directory. For most shells (the program that Terminal is running, which can be modified or swapped for something different), a file is differentiated from a directory with colour.
Here’s how it looks on my Macbook (it probably looks different from yours because I’ve done some configurations and am using a different shell program called Zsh).
cd - change directory
Next, let’s learn about changing to another directory. This is arguably one of the most frequently used commands.
# running this ls # prints this out Applications Documents Library Pictures fundamentals Code Downloads Movies Public macports Desktop Dropbox Music anaconda3 # and running this will change your working directory to Desktop cd Desktop # Desktop is the argument
When you run
cd you must specify which folder you want to “cd into”, like
cd Desktop in the above example. “Desktop” is the folder you’re specifying to the
cd command as an argument.
Some commands expect an argument (like
cd and we’ll soon see,
rm), while others do not (like
pwd). For most of the basic commands it should be quite apparent whether the command expects an argument. For example in this case, you wouldn’t be able to tell the shell where to go if not for the argument.
rm - remove item or directory
To delete an item, we use the
rm command, which stands for remove.
The above command will delete the file with the name ‘cute_cat_photo.jpg’ if it exists in your working directory. If the file exists in another directory, you should first do a
cd <directory_name> then run
What it looks like to use Terminal
You can do a lot on the command line by just using the 4 commands discussed above!
Here’s a video to give you an idea of what it looks like to use these 4 commands on Terminal.
I think every programmer has their own way of using the CLI. For example, I tend to run
ls a lot (like after every other command). I like using it a quick way of orientating myself, whereas other programmers might not use it as much.
Anyway, now that you know some commands, try them out yourself and develop your own approach to using the command line!
There are many more useful and fascinating things you can do with the CLI, which I’ll cover in the next post(s) on the command line. But I believe what we covered in this post is good enough for you to start using the command line.
Have fun with your new toy, I’ll see you in the next post!
Edit (28/10/17): Part 2 is published! Read it here.