Today's internet, the vast majority of web sites, services, games are running on Linux above, although the Linux distribution is numerous, as long as play cooked a distribution, understand the essence of Linux, the basic architecture, design principles, others are comprehend by analogy, do not choose which release and waste a lot of time, is not worth, this is like I am on Tsinghua good, or go to Peking University good? Collectively referred to as the "north-Qing Riddle", here is a personal suggestion for beginners or choose CentOS or Rhel to get started as well.
As just the beginning of the students, nothing but video, books, web site posts and other learning methods, although the video is detailed, but the time required to spend is also huge, as far as I know very few people can persevere in a series of videos to read; Web posts and the like, generally more scattered, not learning system, learning like flies Books from the table of contents is very organized, reading can be systematized learning, progressive, not beginners do not know where to start the feeling. Recommended to choose a Linux starter book, you can install a Linux virtual machine, repeat the practice as the main means, a book good thoroughly understand, the focus is thoroughly understand, then you are also introduced, especially recommended to self-study Linux system classmate buy a "Linux should learn", This book starts from the Zero Foundation, the knowledge covered is not only practical, but also has the experiment to do, at any time to check their learning progress.
So what do you need to know? Here are some things to know:
1, understand the Linux FHS, this is the architecture of Linux, understand the general principle
2, repeat 60 common Linux Foundation, command, Mount
3, TCP/IP protocol, network configuration related knowledge
4. SSH principle and application
5, the basic configuration of the firewall, iptables
It is necessary to master some basic tools and skills under Linux:
1, Vim editor, whether for writing configuration files, or writing language scripts, Vim is always Linux above the necessary air, need to master the basic operation method, shortcut keys.
2, Git version control, many people may feel that there is no need, this is the development of talent, it is not, today's growing devops, for the traditional operation and maintenance engineers is a challenge, but also an opportunity. Engineers need to write a lot of scripts on a daily basis, and they can use git to manage and back up common code and scripts.
3, Shell programming, writing scripts of course need shell, this is also the basis. As in DevOps, it is also necessary to learn a more efficient scripting language, which is recommended in Python, but this is something, and the shell is mastered first.
In fact, if you take the above requirements to 80%, basically calculate the introduction, the next need to learn some hardware knowledge, do operations and maintenance engineers will often and network equipment, servers and other hardware equipment to deal with, hardware knowledge also to do understand. In particular, the quality of the hardware to determine the core parameters, such as memory storage media, capacity, speed, parity check, CPU manufacturing process, the number of core threads, internal and external frequency, cache and so on. We in the work not only need "soft knowledge", "Hard knowledge" is also essential key skills, especially when the company's business soared, need to add room, server, will use a lot of "hard knowledge", network transmission media selection, UPS and so on, should have some understanding.
Before learning the basic "soft knowledge", the next step is to learn some advanced "soft knowledge". Master the most commonly used service building, each company also business structure is not quite the same, but the common service is those, simple business architecture is a variety of services in different forms of the combination. For Linux operations engineers, your company needs to build a variety of servers, such as file sharing server, git server, database server, the deployment of common Web infrastructure, large companies may also need a DHCP server and so on, looking at so much is not to learn a lot of things! Don't be afraid, for the common service building if you are interested can directly learn "Linux should be So", book Baidu a bit.
Usually you build a certain kind of server, there will be an official instruction manual. such as MySQL server building, git server build and so on. Google to the official website in accordance with the tutorial manual step by step (Fq himself to find a ladder, Baidu to the official website also line), basically sorta, of course, there are a lot of users off-the-shelf posts can be directly turned over to see. It is important to note that the Linux version is different, the service installation will be some differences, when you encounter problem search, it is recommended to add a Linux distribution, so that you can more accurately match the problem, you can rest assured that you have encountered the problem, the countless people in front of you have met (willing to share feedback Yimeimei).
High-level here is not much to say, the introduction of the introduction, do not disorderly point of the road. Here also want to combine work experience more wordy a few words, said before the DevOps, is also a trend in the future, Linux operations Engineer will no longer be guarding the engine room, server, bitter force of 7 * 24 hours on duty, automatic monitoring, automatic operation and maintenance is the future direction of development, it is recommended to learn a development language, According to the current domestic and foreign Internet environment analysis, learn Python is right, do not explain.
How to quickly become a Linux OPS engineer