About the Book
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
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.
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.
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
Visit https://github.com/learnbyexample/cli-computing for markdown source, example files, exercise solutions and other details related to the book.
I made an interactive TUI app for a few exercises from this book. I hope to create a more comprehensive app for all the exercises someday.
- 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 if you'd let me know how you felt about this ebook. 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: firstname.lastname@example.org
- Twitter: https://twitter.com/learn_byexample
About the Author
Sundeep Agarwal is a lazy being who prefers to work just enough to support his modest lifestyle. He accumulated vast wealth working as a Design Engineer at Analog Devices and retired from the corporate world at the ripe age of twenty-eight. Unfortunately, he squandered his savings within a few years and had to scramble trying to earn a living. Against all odds, selling programming ebooks saved his lazy self from having to look for a job again. He can now afford all the fantasy ebooks he wants to read and spends unhealthy amount of time browsing the internet.
When the creative muse strikes, he can be found working on yet another programming ebook (which invariably ends up having at least one example with regular expressions). Researching materials for his ebooks and everyday social media usage drowned his bookmarks, so he maintains curated resource lists for sanity sake. He is thankful for free learning resources and open source tools. His own contributions can be found at https://github.com/learnbyexample.