For a pocket reference I Like to recommend The Linux Phrasebook
This book has the command broken down by task, which is much more productive when you are still learning. Most command references list the command alphabetically which, lets face it isn't much use if you don't know the name of the command you need in the first place...
as for something that gives you ALL the commands. I've been using Linux for Years now and the more I learn the more I realize how much I still don't know.
is a good command to know though.. it searches for commands. so if you want to see commands related to copying then you would use apropos copy
it will return a list of command with brief descriptions. then you can use man
to get detailed info on the specific commands returned. man cp
, or man dd