I am not an expert in this field. I use the command line regularly and have written a couple of shell scripts that are particularly important to me.
This book is available as a paid-for book and as a free to download PDF from http://linuxcommand.org/. Before I read this book, I read How Linux Works, to get a better idea about Linux.
Note from the book’s author: “The second No Starch edition contains about 20 pages of additional material mostly having to do with bash version 4 and a number of additions inspired by reader feedback. The second No Starch edition is based on my 5th Internet edition which you can download from LinuxCommand.org.”
This book is in 4 parts. Part 1, ‘Learning the shell’, is all about the command line. Part 2, ‘Configuration and the Environment’ is all about customising bash: environment variables, shell configuration scripts, customising the prompt and a gentle introduction to vi.
Part 3, ‘Common tasks and Essential tools’ explains package management for both .deb and .rpm oriented systems, and explains storage media, in particular mounting/unmounting devices, filesystems and CD-ROM images. It also explains and introduces networking, searching for files, archiving and backing up, regular expressions, the arcane arts of text processing, printing and explains how to compile C programmes from a tar ball.
Part 4 goes into detail about writing shell scripts: as well as syntax, it covers best practice for shell scripting and debugging.
I read this book to get a lot more knowledge about the bash command line and scripting. It did not disappoint.