Summary
The terminal is an application lets you control your computer using text commands.
Details
The terminal is an application lets you control your computer using text commands.
Most people are familiar with using GUI (Graphical User Interface) applications, like your browser or word processor. GUI applications let you use your mouse to interact with the application, using buttons, menus, and other features. With the terminal, on the other hand, you’re mostly using the keyboard and text commands to interact with your computer (the mouse can still do some things, like select text in the terminal, but it’s fairly limited).
Although using the terminal sounds like an outdated concept, it’s very useful to know as a developer. The reason why is that there are many applications that run inside the terminal, like Git (for version control) and npm (for managing dependencies). To use these tools effectively, you need to know a handful of basic terminal commands, like moving between folders, viewing the contents of files and folders, and moving, copying, and deleting files and folders.
Some terminal applications, like Git, do have GUI applications that allow you to perform certain tasks outside of the terminal, but don’t offer all of the features found in the terminal application, so it’s still a good idea to have some basic terminal skills at your disposal.
Exercises
You can download exercises to go along with these tutorials on our Terminal exercises GitHub repository. You don’t have to know how to use GitHub to use them. Just click the green Code button in the corner and click the Download ZIP option. Then unzip the folder and open it in your text editor.
Each module has a folder. Inside each module folder is a folder for each lesson. The lesson folders usually contain files already where you can put your code, although occassionally you will be asked to create files on your own.
NOTE: You can ignore the instructions included in the folders. The instructions are now listed directly in the lessons.
References
Command Line Primer on the Apple Developer Archive