Skip to main content

Effective Shell

This book is for anyone who is interested in computing, and wants to learn more about the exciting, but sometimes daunting world of The Shell. The shell is simple interface for working with computers and programs and learning some of its features can enormously increase your productivity as any computer user - whether a home user or hobbyist, programmer, data scientist, writer, administrator or other professional.

For the newcomer, you'll learn what a shell is, how to use it on your system, and then how to become more effective everyday by integrating the shell into your work. For the experienced professional, there is a wealth of detailed tips and tricks in each chapter that go into advanced topics and techniques to make you even more of a power user.

If you are new to shell, I recommend starting at the beginning with the Getting Started page, to set up your machine and work forwards from there.

If you are already comfortable with running a shell, know what bash is, and know how to run basic commands like ls and cd, are familiar with terms like command and parameter then you can skip through some of the earlier sections and pick up the chapters which sound most interesting to you. The goal of this book is to be a collection of small, contained tutorials on how to use the shell more effectively, you can go through it sequentially or just pick and choose the sections which seem the most interesting.

If you find this book useful, please consider sponsoring me to support my open source work:

If you would like to get email updates when new chapters are published, please do provide your email below. I won't be using it for anything beyond updates to the book.

This book is also open source! The code is on Feel free to use the 'Comments' section at the bottom of each page to discuss the content, or even open a pull request to propose changes.

All of the content of this book is designed to be suitable to work with Microsoft Windows, Mac OS and Linux. So no matter what system you are running, you should be able to follow along. We will focus primarily on 'Linux Like' environments, which hopefully will give you the skills which you can apply most widely. For Windows, we'll look into how to tweak your system to be able to run all of the samples.