Text, samples and references for my 'Effective Shell' series. This website is hosted at effective-shell.com.
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
- Add
tree
to the Chapter 'Moving Around'. - Getting Help:
help
-
man test
is an excellent way to quickly check common tests (existence of a file etc) -
man set
is super useful when checking options likeset -ex
in scripts - For the 'Getting Help' page, include
whatis
andwhereis
. - A good example of commands/binaries challenges with dotfiles is shown when trying to use
nvm
in a makefile (nvm
is a sourced command, so not present in non-interactive shells)
I tend to use the following hashtags when sharing:
#effectiveshell #shell #linux #bash #devops #hacking #coding #programming
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.
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 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.
This website is built with Hugo. It is very easy to setup and run locally.
To setup dependencies, run:
make setup
To serve the site locally, run:
make serve
To build the site, run:
make build
The 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
The site uses the github.com/dwmkerr/hugo-book theme, which is a fork of alex-shpak.
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.