Here are some good places to start when you are learning the Linux command line (bash).
- gnu cli: CodeCademy Learn command-line that online interactive CodeCademy way. All win! ☛ CodeCademy.com 
- gnu cli: Explain Very nice interface that explains commands you type or choose ☛ ExplainShell.com 
- gnu cli: First steps Very nice very beginning explanation and how-tos. ☛ Mageia.org
- gnu cli: Hard Way Learn Command line ☛ LearnCodeTheHardWay.org
- vim: Adventures Learning vim while playing a game. ☛ VIM-Adventures.com
It is about doing things, writing code. It is not about memorizing. So you should take as long as it takes you to figure things out and do the things. Everybody is different. Some people take about 3 months, others 6 months, and some only a week. (It took me years!)
The important thing is: Do work every day. How much do you want it? How excellent do you want to be?
Some resources that are good for everything you learn:
- all: cheatsheet Look up html and css code here, at the place it is invented ☛ W3.org 
- all: Code Guide Standards for developing flexible, durable, and sustainable HTML and CSS – on a beautiful page! ☛ GitHub.io
- all: How to ask questions This article is about asking at WordPress support, but it applies to everywhere! ☛ WPBeginner.com 
- all: Web dev rates – India Hourly rates for web developer in India, with job descriptions, very nice interactive chart ☛ PayScale.com 
- all: Web dev rates – US Hourly rates for web developer in US, with job descriptions, very nice interactive chart ☛ PayScale.com 
- CertCheck Explains the role of the certificate on a website; by Tactical Technology Collective. (Note that the subdomain of the certcheck.me url will change each time you go there.) ☛ CertCheck.me
- typing: Typing Cat Practice typing skills and speed online ☛ theTypingCat.com 
Want to learn more? It's time to explore! ➽ All the Resources.