A melhor maneira de aprender Linux é forçá-lo a usá-lo diariamente.
Comece inicializando seu sistema sempre no Linux e configure o Gerenciador de Janelas de sua escolha (GNOME, Mate, KDE, o que for) para atender às suas necessidades. Então, configure seu webbrowser favorito (chrome, firefox, ...) e instale um editor de texto ou um IDE no qual você se sinta confortável (eu mesmo uso o Vim, mas no seu caso, inicialmente eu começaria com Komodo, Atom, Sublime Text ou similar). Isso provavelmente cobrirá a maioria de suas necessidades iniciais.
Então, durante as primeiras semanas, em vez de "aprender TODO o Linux", você só precisa aprender a executar uma tarefa específica quando tiver a necessidade de fazê-lo (por exemplo: como faço isso agora?).
Como você é um programador, eu recomendo que você comece com um tutorial / manual bash. Bash é o shell padrão do Linux e provavelmente é o que você está usando no seu sistema. A programação no bash é útil não apenas para criar scripts shell para automatizar as coisas, mas para o uso diário do sistema, pois para mim é parte da maneira de trabalhar, não apenas do próprio ambiente.
Você provavelmente deve começar com o bash, o grep, o find, o awk, o sed, o tr, etc. e essas ferramentas acabarão sendo parte da sua vida. Eu não consigo entender como as pessoas estão vivendo sem essas ferramentas sob O.S. como o Windows (Mac Os X tem).
Resumindo: você não pode (ou não deveria tentar) aprender "todo o Linux". Você nunca terminaria então. Comece com as ferramentas mais úteis e importantes: um ambiente X funcional, um navegador da web, seu editor de texto favorito, o shell bash, o coreutils como o find / grep / sed / etc, ferramentas de desenvolvimento como autoconf / automake / make / git que você trabalha com C ++), etc No futuro, você também pode usar o VirtualBox para implantar máquinas virtuais para desenvolver em (servidor web, servidor db mysql -Eu não faria isso inicialmente-).
Depois, ao fazer isso, você estará "fazendo as coisas e realizando o trabalho" e poderá se concentrar em responder às dúvidas que possam surgir durante o trabalho.