I've been interested in computers for a long time and have fiddled with a lot of stuff which includes Linux. I started out with Red Hat when I was young (around 13) and lost all data, converting a FAT32 drive to something else. Later it was Knoppix which was really helpful in recovery and such. Then, it was Ubuntu. Also, I fiddled with Arch for some time, but, it breaks too often for my liking (maybe, I should have been more careful).
Anyway, currently I use Ubuntu 9.04. I want to dig deeper into the Linux world now. I want to learn how things work and use the terminal more. I am a programmer as well, so, it will help a lot.
So, the thing I wanted to ask were:
Good books to learn and understand Linux
Good habits to use Linux more efficiently.
Good tools about which I should know.
Amount of time you set aside to learn about new things each day.
As a programmer, how do you setup and use Linux efficiently.
Long list. I will be grateful to the answerers.