My favorite book for learning to use the shell and understanding the Unix principals is also a Brian Kernighan book
"The Unix Programming Environment", by Kernighan and Pike.
While this book was written in 1984, it is still a good book for learning Unix principals as well as learning how to use the shell.
While in a Terminal session, you can use the 'man' command to find out information about individual commands, although that is only use if you know the command exists.
The 'apropos' command is EXTREMELY useful, in that you can ask it to find any commands that mention a keyword you give apropos
apropos permissions
apropos delete
apropos directory
etc...
The 'man' pages are broken down into sections. Section 1 is user commands, sections 2, 3, 4, 5, 7 are programming APIs, section 6 is games, section 8 are administrator commands.
If you just want a list of all the use commands you could use
apropos 1
If you want the admin command list
apropos 8
Once you find a command that looks interesting, you can get detailed information about the command using
man command_name
NOTE: The command line interface is non-trivial. At one time it was considered user friendly back in the days when the alternative was a keypunch maching and 80 column punched cards. But today, the command line interface is NOT very friendly.
NOTE 2: There are some very powerful commands available from the command line. If you are not careful, you can delete files the system needs to operate properly, or delete something you personally needed. Deleting something from the command line means it is gone, unless you want to pay thousands of dollars to have a service recorder the data. Just assume anything you delete from the command line is gone.
But to those of use that have been using the command line for years, we find it an old friend that gives us a lot of power which would be difficult from a GUI interface.