This book aims to teach Linux command line tools and Shell Scripting for beginner to intermediate level users. The focus is towards managing your files and performing text processing tasks. Topics like system administration and networking won't be discussed, but some details might get covered in future versions of this book. Visit https://youtu.be/PS5XEemn164 for a short video about the book.
The book also includes exercises to test your understanding, which is presented together as a single file in this repo — exercises.md
For solutions to the exercises, see exercise-solutions.md.
See Version_changes.md to keep track of changes made to the book.
Click this link for an earlier version of the book in this repo.
See my curated list on Linux CLI and Shell scripting for more learning resources.
- You can purchase the book using these links:
- You can also get the book as part of these bundles:
- All books bundle from https://learnbyexample.gumroad.com/l/all-books
- Includes all my programming books
- All books bundle from https://learnbyexample.gumroad.com/l/all-books
- See https://learnbyexample.github.io/books/ for list of other books
For a preview of the book, see sample chapters
The book can also be viewed as a single markdown file in this repo. See my blogpost on generating pdf from markdown using pandoc if you are interested in the ebook creation process.
For web version of the book, visit https://learnbyexample.github.io/cli-computing/
Ive only gotten through first pages but appears a good Unix/bash primer. I’ll probably recommend for new hires out of bootcamp because they’re usually weak here
I would highly appreciate if you'd let me know how you felt about this book. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors.
You can reach me via:
- Issue Manager: https://github.com/learnbyexample/cli-computing/issues
- E-mail:
echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode
- Twitter: https://twitter.com/learn_byexample
- Preface
- Introduction and Setup
- Command Line Overview
- Managing Files and Directories
- Shell Features
- Viewing Part or Whole File Contents
- Searching Files and Filenames
- File Properties
- Managing Processes
- Multipurpose Text Processing Tools
- Sorting Stuff
- Comparing Files
- Assorted Text Processing Tools
- Shell Scripting
- Shell Customization
- GNU Manuals — documentation for command line tools and the
bash
shell - stackoverflow and unix.stackexchange — for getting answers on pertinent questions related to CLI tools
- tex.stackexchange — for help on pandoc and
tex
related questions - /r/commandline/, /r/linux4noobs/, /r/linuxquestions/ and /r/linux/ — helpful forums
- canva — cover image
- Warning and Info icons by Amada44 under public domain
- carbon — creating terminal screenshots with highlighted text
- oxipng, pngquant and svgcleaner — optimizing images
- Inkscape — favicon
- mdBook — for web version of the book
- mdBook-pagetoc — for adding table of contents for each page
- minify-html — for minifying html files
The book is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
The code snippets are licensed under MIT, see LICENSE file