I use Linux primarily in a personal environment, so I'm going to explore Linux learning from this perspective.
We usually use the computer for Internet browsing, real-time communication, word processing, e-mail, etc., which requires our desktop environment has windows. Because the Internet browsing, text typesetting WYSIWYG and electronic document system, and so on, if there is no window interface to assist, then the user will cause a lot of trouble. As we all know, Linux was developed by engineers in the early days, and there is no need for window interface, so it makes the impression that Linux is not very affinity.
To enhance the utilization of desktop computers, Linux is combined with the X Window system. It is worth noting that the X Window system is just a set of software on Linux, not the kernel. So even if X window hangs, it won't have a direct impact on Linux.
In recent years, Linux Windows systems have been able to run software that is really scary, so we can easily get started with Linux desktop systems.
So, we either don't take Linux to stand, like windows, play X-window is very happy, or really take the time to study in-depth things.
If we just want to take Linux instead of the original Windows desktop, then we hardly need to go through "rigorous learning". Most of the current Linux distributions by default is to install the required software in the desktop system, that is to say, we just install Linux, then we can enter the Linux play. There's no technical content at all.
"Learning attitude toward the Linux operating system"
So, to really learn Linux, we'd better be able to discard the X Window environment first. This is because X window is just a "set of software" within Linux, not "Linux kernel".
In addition, X window has no control over the management of the system. Example: If Linux itself does not recognize the NIC, how can we identify the hardware with X window and drive it? Also, if you need a tarball (source code) way to install the software and set it, you can use X window to build it?
Of course, but this is a test of the "X window developers" technical ability, for the understanding of the Linux architecture and the kernel is not much help.
So, if you just want to "learn to use Linux", then use X window is enough (anyway, you can not afford to ask experts to take care of it), but if you want to learn more about Linux, then command-line mode is the best way to learn!
Add: Using the text interface to operate Linux in a certain situation environment with the necessity and superiority!
No matter what system you learn, "learn from scratch" is very important! First learn the foundation, the problem will not be so much!
Network fundamentals and security are also important! such as the basic knowledge of TCP/IP, the related concepts of network routing. Remember what we said before (the best part of Linux is the network)?
Here's a look at the learning process:
"What to do with the problem"
1. Query how-to or FAQ on your own host/network database (Help)
Linux self-file data:/usr/share/doc
2. Pay attention to the information output, solve the problem by yourself
3. Go to the forum to discuss
How to learn Linux