No book is as complete as the local manpages, but most people just need to know a few commands and a few options for those commands. The more you use them, the most non-obvious connections between the different commands will be made. After a year or two, if you keep using the CLI, something will probably "click" in your brain and a whole new level of connections between the commands will be clearer. You'll see patterns in options between similar tools. You'll be better at guessing the option that makes output cleaner, easier to read, more useful. You'll also note when certain options don't behave as expected and those exceptions will stick in your brain.

Hopefully, you'll start seeing how connections between different computers are really, really, easy, thanks to ssh and ssh-based tools. You'll understand why the default prompt in the shell is brilliant - seems it is exactly the format needed for some commands to xfer files. It is perfect for scp, sftp, rsync, for example. Very, very, handy.

And if you haven't learned tab-completion - STOP WHAT YOU ARE DOING NOW! Go learn tab-completion. It is something that makes working in a shell/CLI environment so much more efficient and effectively prevents ever mistyping a directory for filename wrong. Without tab-completion, the shell interface sucks. With it, it can be a joy to use and extremely efficient.