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!
"Learning process"
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:
- Computer introduction and hardware-related knowledge
- Start with Linux installation and command
- Basic skills of Linux operating system: It contains the concept of user/user group, the idea of authority, the definition of program, etc. (especially the concept of permission, because different permission settings will hinder the convenience of your users, but too much convenience can lead to the possibility of intrusion.) So here's what you need to know about your system)
- Be sure to learn the vi text Editor: A lot of Linux text editor, but VI is strongly recommended to learn first, this is because VI will be called by many software, and its application is very wide
- Shell and Shell Learning: the "command line interface" We've been talking about is a shell-named software. Since you want to play the command-line interface, of course you have to use the shell. However, there are too many data on the shell, including "regular Expressions", "pipe Commands" and "Data flow redirection," and so on, really need to understand. In addition, shell scripts are critical for managing servers.
- Be sure to be a software administrator: Playing Linux often faces itself when installing drivers or installing additional software, especially embedded devices or academic research units. This time tarball/rpm/dpkg and other software administrator installation method is important to you!
- Network Foundation: Above is a stage, the foundation of the network is the next stage to contact, this part contains the "IP concept", "routing concept" and so on.
- If the network Foundation is passed, then the site is a piece of cake.
"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