About this book
This book’s three main parts are: getting to know the basics of using the command line including Bash and Unix underpinnings, more advanced topics like running servers and customizing the command line for our purposes and using today’s web developer tools like Git and npm.
Just enough information
Just like any development subject, there is a lot of ground to cover with Bash. It’s an old technology with a lot of depth. That’s not what this book is about. There are plenty of other books with much more detailed academic knowledge. We go into details in some areas, but everything will apply to web development.
Have you ever needed to install software that required entering text to the command line, but did not know what you were really entering? Instead of blindly following “Set up” guides by pasting commands into your terminal, this book explains what is really going on when you use those commands.
While the book is organized to cover basic subjects of using the command line to more complex applications, this does not mean it needs to be read from front to back. Most of the material can stand on its own, and any material that builds off previous material is referenced.
This book is already out of date
Over the course of two years from when I began writing this book, technology has changed a lot. I suspect that by the time you read it, parts of it will already need updating. For example, Apple has a neweer operating system than what we discuss in this book. Thanks, Apple. Fortunately, when you purchase this book, you can receive email alerts when this book gets updated on LeanPub. If you find something incorrect which needs addressing or more clarification, the LeanPub website has resources for getting those questions answered.
This book has a Mac bias
Windows users may notice a distinct Mac perspective. That’s fair. While I try and point out when operations differ from Mac and Windows (such as installing Git), there will be areas that get missed. Currently, the web developer community is strongly leaning toward Mac. When I look around my office, my clients’ offices, and at conferences, it’s Macs all the way down.
The advantages of knowing command line tools are that the vast majority of them can be used from any system, not just Macs and Windows. And with the exception of a few spots where Windows and Macs differ, this book applies to both.
So why the book?
Inspiration to write this book came from my wonderful coworkers and colleagues who have the passion and desire to make great websites. They cover the spectrum of experience, from beginners to old-school pros. But they all have the same enthusiasm to learn. As web developers, learning the ever-changing landscape of our technology can be difficult enough without also knowing the low-level operating systems and shells and other underpinnings. I wanted to provide a base level for learning Bash in an effective and applicable manner. My hope is that no matter what your skill level may be, this book provides a solid foundation for understanding the command line for today’s web developer.