effective-shell
Text, samples and references for my 'Effective Shell' series. This website is hosted at effective-shell.com.
Introduction
This repository contains all of the content for the Effective Shell online book.
The effective-shell-playground folder which has all of the samples can be downloaded from https://effective-shell.com/downloads/effective-shell-playground.zip
Improvements
- Add
treeto the Chapter 'Moving Around'. - Getting Help:
help -
man testis an excellent way to quickly check common tests (existence of a file etc) -
man setis super useful when checking options likeset -exin scripts - For the 'Getting Help' page, include
whatisandwhereis. - A good example of commands/binaries challenges with dotfiles is shown when trying to use
nvmin a makefile (nvmis a sourced command, so not present in non-interactive shells)
Sharing
I tend to use the following hashtags when sharing:
#effectiveshell #shell #linux #bash #devops #hacking #coding #programming
The Pitch
This is not a book about Shell Programming. There are many excellent Shell Programming books (see below). This is about general terminal and shell skills which will make you effective with many day to day tasks. Some shell programming is covered, but this is primary a book about how to work more effectively with command line interfaces and shells in general.
Possible titles:
Darkscreen: 30 ways to use shells and terminals to be more effective developer or operator. Effective Shell: 30 ways to use shells and terminals to be more effective.
Publishers
Books which I've found exciting, which I think could be examples of how this book might be developed:
- Effective C++: 55 Specific Ways to Improve Your Programs and Designs
- Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
- 3D Graphics Programming: Games & Beyond
- How Linux Works, 2nd Edition
The Website
The content in this repository is built into a static site available at effective-shell.com. This is done using Hugo.
This section contains information on how to built, use and edit the site. To help you quickly edit the site, some tips are below:
- The main content is at website/content/docs/
- The menu structure is defined at website/content/menu/index.md.
Building the Website
This website is built with Hugo. It is very easy to setup and run locally.
To setup dependencies, run:
make setupTo serve the site locally, run:
make serveTo build the site, run:
make buildThe built site is generated at ./website/public.
Note that the effective-shell-playground folder is automatically zipped up and added to the website, meaning it can be downloaded directly from:
https://effective-shell.com/downloads/effective-shell-playground.zip
Updating the Theme
The site uses the github.com/dwmkerr/hugo-book theme, which is a fork of alex-shpak.
Copyright & Licensing
All content is Copyright (©) Dave Kerr. Please get in touch by opening an issue if you have questions on copyright or licensing.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

