Linux Command Line Computing
About
This ebook aims to teach Linux command line tools and Shell Scripting for beginner to intermediate level users. The main focus is towards managing your files and performing text processing tasks. Plenty of examples are provided to make it easier to understand a particular tool and its various features. Exercises at the end of chapters will help you practice what you've learned and solutions are provided for reference. External links are provided for further reading.
The features covered in this ebook are shaped and limited by my own experiences since 2007. I had a rough beginning as a design engineer having to learn Linux command line, Vim and Perl on the job. The biggest pain points were not knowing about handy options (for example, grep --color
to highlight matching portions, find -exec
to apply commands on filtered files, etc) and tools (for example, xargs
to workaround limitations of too many command line arguments). And then there were tools like sed
and awk
with intimidating syntax.
I hope this ebook would make it much easier for you to discover CLI tools, features and learning resources than my own blundering experience.
Promo video
Prerequisites
You should be familiar with basic computer usage, know fundamental terms like files and directories, how to install programs and so on. You should also be already comfortable with programming basics like variables, loops and functions.
In terms of software, you should have access to the GNU bash
shell and commonly used Linux command line tools. This could be as part of a Linux distribution or via other means such as a Virtual Machine, WSL (Windows Subsystem for Linux) and so on.
You are also expected to get comfortable with reading manuals, searching online, visiting external links provided for further reading, tinkering with illustrated examples, asking for help when you are stuck and so on. In other words, be proactive and curious instead of just consuming the content passively.
Testimonials
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 — feedback on twitter
Nice book! I just started trying to get into linux today and you have some tips I haven’t found elsewhere and the text is an enjoyable read so far — feedback on reddit
Sample chapters
For a preview of the book, see sample chapters on GitHub.
GitHub repo
Visit https://github.com/learnbyexample/cli-computing for markdown source, example files, exercise solutions and other details related to the book.
Interactive exercises
I made an interactive TUI app for some of the text processing exercises from this book.
Chapters
- 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
Feedback and Errata
I would highly appreciate it if you'd let me know how you felt about this ebook. It could be anything from a simple thank you, Gumroad rating, 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: learnbyexample.net@gmail.com
- Twitter: https://twitter.com/learn_byexample
You'll get PDF and EPUB versions of the book.