These days most of use our mouse to navigate around our computers. But once upon a time, you could only get your computer to do things via text commands. While we now have graphical user interfaces that make most tasks really easy, the text based command line still exists and is a much more powerful and direct way of working with your computer.
The command line can seem really intimidating but that’s only because most of us aren’t used to working with it. If you want to learn how to program, learning how to use the command line is essential. These courses will help you familiarise yourself with the command line and start to feel comfortable using it.
This free online book is a very approachable introduction to what the command line is and how to use it. It’s a good entry point to the world of talking with your computer’s shell.
This is a free quick crash course in using the command line. It just covers the basics so that you’re up and running in the command line sooner rather than later.
This crash course is actually from the Appendix of Zed Shaw’s Learn Python 2 the Hard Way – we don’t recommend that version (Shaw has released a version for Python 3 that is more current but it isn’t free anymore). The command line course is fine to use though.
This is a free video series that is intended to help web developers level up their command line skills.
Codecademy’s course takes you through the basics of using the command line so that you can navigate, access, and modify files and folders on your computer—all without a mouse.
This is the first in the series of Learn Enough to be Dangerous tutorials and is intended for complete beginners.
The first chapter is free and is enough for a basic introduction to getting set up with and using the command line. The rest of the course goes into a lot more depth and can be purchased as a one-off payment or as part of a subscription that includes community support.
This course looks both at the theory and practical sides of working in the command line. It focuses on BASH, which is a common type of command line interface.