The Command Line interface
(also known as CLI, terminal or shell) is a way to navigate through your computer's content (media, folders, applications, etc.) without a visual user interface. It allows you to type text commands to perform specific tasks. Since you can directly control the computer by typing, many tasks can be performed more quickly, and some tasks can be automated with special commands that loop through and perform the same action on many files.
As a beginning developer it's important to get familiar with it, as it will teach you how computers work: as tools that you give instructions to. This is not any different from programming for web development; but instead of writing instructions to the computer directly, you write instructions for browsers to execute!
Note for Windows users: Please install Git for Windows. It comes with an application called Git BASH which simulates frequently used CLI commands in Unix fashion. This aligns our work here in this course, as we can all use the same commands. But there is an even bigger reason: Being comfortable in the Unix Bash shell is very important for a web developer, as web servers usually run Linux. Which means you will need to be able to use it.
Follow along with the following video (the video is for the MacOS terminal, so if you are on windows you can use your Git Bash and run the same commands):
{% hyf-youtube src="https://www.youtube.com/watch?v=5XgBd6rjuDQ" %}
You'll notice is that once you type in a command, the computer doesn't always give back feedback. This is completely normal. Most of application development goes like that, and it's good to get used to it.
Now we suggest going through the most used commands using the following interactive web application:
This challenge is a little introduction to creating, navigating and editing files directly from command line, without any clicking!
- Try to replicate this folder structure (including the file contents!)
If you just can't get enough, here are some extra links that mentors/students have found useful concerning this topic: