> Category: Essential Tools and Practices for the Aspiring Software Developer

Shell productivity tips and tricks

This chapter will walk you through different features of your shell allowing you to do more while typing less, such as autocompletion, keyboard shortcuts, history navigation and shell expansions. Even mastering some of these should make you immensely more productive in your shell day-to-day!

Customizing your shell

It is very common for programmers to tweak and customize their terminal and shell for hours, add or write new plug-ins, all in pursuit of the “perfect environment” and an increase of productivity. In that spirit, this chapter will cover different recommendations of terminal configurations, as well as a deep dive into how to customize your prompt, add colors, experiment with color palettes, for both bash and zsh. We will finally introduce the Oh My Zsh configuration framework.

The shell's building blocks

Something I still find striking after years of using a shell almost daily is how simple yet powerful its building blocks are. Chapter 1 covered commands, I/O streams and pipes. This chapter will cover environment variables, aliases and functions.

Text processing in the shell

One of the things that makes the shell an invaluable tool is the amount of available text processing commands, and the ability to easily pipe them into each other to build complex text processing workflows. These commands can make it trivial to perform text and data analysis, convert data between different formats, filter lines, etc. This chapter will go over some of the most common and useful text processing commands the shell has to offer, and will demonstrate real-life workflows piping them together.

Discovering the terminal

This chapter will help you take your first steps in the terminal, this almost mythical (The Matrix, anyone?) application we oftentimes imagine hackers type in really fast. We will see how it works and how it can empower you, increase your productivity and give you insights about how your computer works.