The things he calls "bang commands" are actually "event designators" (!!, !blah), "word designators" ($) and "word modifiers" (:p). There are links to docs for each at the bottom of this page:
http://www.gnu.org/s/bash/manual/html_node/History-Interacti...I use them all the time, and anyone watching over my shoulder always asks what that was. Learn !!, !$, and a few modifiers. You'll be glad you did. Personally, I use !$ constantly (and variations like !-2$, which gets you the last arg from 2 commands ago). The "h" modifier is handy, too. It's like dirname for the word. Consider this example, where you copy a file to some deep path, and then cd to that dir to continue working with the copy:
$ cp foo.txt /some/really/long/destination/bar.txt
$ cd !$:h
$ # (do more with ./bar.txt)
The substitution (:s) and global substitution (:gs) modifiers are also useful:
$ echo some args
some args
$ !!:s/some/more
more args
(Also, note that his explanation of !* is actually incorrect. He says it leaves off the last arg, but actually leaves out $0 (the command name). !* is all of the previous command's arguments.)
Finally, one really useful thing he doesn't mention at all is brace expansion. For example, these are equivalent:
$ cp foo.conf foo.conf.bak
$ cp foo.conf{,.bak}
http://www.gnu.org/s/bash/manual/html_node/Brace-Expansion.h...